Interesting... I have a client application that sends a serialized Query object to the server so that the server can return a result set. Seems to me like a side-effect free operation...
Also, even for only dealing with strings, the Java implementation of URL Encoding is utterly broken for i18n, so you must hack around it, which makes it a lot more painful to use GET than POST. http://www.w3.org/International/O-URL-and-ident.html
I think GET would be a lot more useful if it didn't depend on URL semantics.