Never mind. I installed WINE and used it to run eos40d108.exe.
Still, there are two versions of the 40D decrypting program, distributed as decrypt40D.zip and decrypt40D.rar. The two programs are identical except that the one from decrypt40D.rar fseeks past the first 288 bytes in the FW and begins decrypting there, and both use different decryption tables from their respective 40D_table.h files.
Does anyone know how these two different versions were derived? They can't both be correct. Neither one seems to produce output with any readable strings in them.
I intend to get IDA Pro soon and run it under WINE (if that works). I'm hoping that my experience in assembly language programming with Z80, 6809, and 68000 CPUs isn't too rusty! That was back in the early 80's, so I'll see...