I thought some others might find this useful.
I have been baffled for a few days why certain actions in an experimental Rails app would work fine in dev mode, and then give me mysterious HTTP 500 errors when deployed. The Rails logs would tell me everything was just fine and there was no problem. But, there they were in Fiddler... status 500. I haven't figured out how to get ahold of the Apache logs from my host yet, so they couldn't help me.
I finally set up Apache with FastCGI myself so I could attempt to duplicate the problem. It was immediately apparent. The Apache log was complaining about invalid headers in the FastCGI communication. I was using "puts" to write out to the console when running in dev mode in order to quickly debug what was going on. This works fine when using the Webrick standalone server, but FastCGI on Apache evidently uses stdout to do the communication between it and the fastcgi processes, and writing to stdout screws up that communication and Apache reports HTTP 500, even though Rails thinks everything's A-OK.
The lovely thing about Ruby is that I was able to fix it by redefining puts to do nothing. Ideally, you ought to use the logging mechanisms, and I will. But that made a great short-term fix.