I can assure that Hiawatha works fine. A POST request via AJAX is no different from a 'normal' POST request. The only extra in a AJAX POST requests is the "X-Requested-With: XMLHttpRequest" HTTP header line.
Most of the time, timeouts occur when a CGI script prints an incorrect Content-Length line. If a script writes "Content-Length: 10", but only writes 5 bytes of HTTP content, the browser waits for the final 5 byte. If they are never written, you'll get a timeout error.
What I advice you to do is to install
Fiddler2 [fiddler2.com] to see what goes wrong.