You might consider coating the compass with NeverWet. (See http://www.neverwet.com) sold under the Rustoleum brand at places like Home Depot. Once coated, it won't matter if the compass lands in river water, pool water or salt water, it simply won't get wet.
I can't imagine that the coating...