I've written several iRules dealing with POSTs and haven't run into the problem you are encountering, but I can tell you it's fairly common to see the headers in one packet and the data in a second for POST requests.
I'd be surprised if the server is responding with other than a 100 Continue before seeing the POST data, and even then, it should trigger HTTP_RESPONSE.
It would be helpful to see both the iRule and a packet trace showing the data exchanged, along with a better description of the functionality you are trying to achieve.
/deb