I use a Pelican case (1020) to keep my GPS dry. Works great, so far. I also desigend a custom "float" that was designed to measure river currents, but could easily be used for a dive flag/GPS buoy.
I filled the bottom of a 1 gal container with lead shot and epoxy and then forced two part structural foam in the top for positive floatation. The foam is the same kind used for foaming in fuel tanks in small boats, so it's kinda waterproof. The buoy has nice stability and with the Pelican case on top really keeps the GPS dry and upright so it can see the satellites.
Works great in rivers. I'll have to try it out as a dive flag buoy some time.
Anyhow, I keep 1 second track recordings and have a detailed track of the buoy so I can calculate position and speed for a couple of hours using a (fairly cheap) Garmin eTrex Legend.
--
john.