Hmm, the long, exciting description on this error that I had written was erased with a firebug crash. So here is the quick hurried version.
After a lot of troubleshooting why I got a null value from a Request parameter, I figured out that the ProcessRequest() was being executed twice. I looked at some pages, and they said that it could be connected with authentication; I followed some of their solutions, but nothing.
One person suggested that it may be connected with autoWireUp for a aspx page. Since I was working with a ashx page it may not be relevant, but let me try their solution of turning autoWireUp off. Oh, the debugger can't run!
Could it be running ProcessRequest() once for the debugger and once for my actual request? Let's see: run with debugger: it is called twice. Run without the debugger: it is call once.
And there was the solution to my problem: Visual Studio 2008 debugger was calling ProcessRequest() an extra time.
Now, fortunately my project was simple and had a way to verify independently if it was working or not. And I have never seen this problem before, even though I have written many .net projects where jQuery and an ashx page have interacted. I just installed a new tool kit, so maybe there is the problem.
I will do some research on the issue.