This is more or less a question regarding how the ASA allows traffic to traverse itself.
If I understand the ASA properly; all unicast traffic is permitted from a higher security interface to a lower security interface and only inspected traffic is allowed to return back.
If the above is a correct assumption, how come HTTP traffic is allowed to return throught the ASA if I remove the from the "inspect http" command from the global inspection policy map?
I see that it works as I expect with ICMP traffic as described above.
There is a feature called TCP state bypass which was introduced in version 8.2 code for the ASA which allows you to change the way TCP stateful inspection works -
Never used it though so can't say how well it works.