My Penguin is 18.104.22.168 (from Kernel.org) on Debian etch. I had no problem with andrew's patch.
However, when I was working with my other penguin, 2.6.18.?? (I forgot..) Debian Sarge, I had similar problem. It turned out to be kernel source path. Without a symlink to my real kernel path from /usr/src/linux, something went wrong and resulted in "invalid module format" If I remember correct, problem was Makefile with KERNEL_PATH. Apology for somewhat unclear info, everything is on my memory and that penguin is not around me at this moment.