A decade has past since I last had to deal with IIS . So, I have no knowledge about any IIS idiosyncrasies.
What I would do is enable HTTP access logging in JBoss and compare a working request coming from Apache incl. headers and body with a request coming from IIS. That should help narrow down the problem.