WiFi shield TCP to webserver is very slow

Well, We now know the original cause of the 90 byte limitation, is there anything that can be done about it? Say increase that number without bringing down the whole firmware?

Unfortunately not, you have to at least recompile the firmware to increase the value.

By the way, does the firmware check the string length when receiving or does it go on the fritz after it unknowingly overruns its buffer?

Yes, it does check for the buffer size and ignores the whole message if the buffer overruns.

Also which version of firmware did you look at?

I got the latest firmware from github, the Arduino library from IDE 1.0.4.

FYI, my limit was 90. 91 will not result any data sent.

The header and trailer is 9 bytes but if the message completely fills the buffer it will be ignored, so you're right, with 91 it starts to fail.