Reordering the query string doesn't sound like a particularly safe operation to me. It seems like something where order-dependency may be somewhat common. Given ikegami's point about the HTML4 spec specifying how it's to be ordered (which I assume is accurate, but I haven't checked to verify), it would appear that reordering it would be non-standards-compliant and, therefore, definitively wrong.
What about adding either a sorted_query_string (as already suggested) or a query_hash method? Personally, query_hash seems like the more general and more likely to be useful of the two, but either would handle the comparability case that you've made.