About your buoyancy. After a certian dept your robot will not be buoyant anymore. You should always have "rescue" option like a Co2 balloon lift or drop-weights. which will open/drop after a certain time or certain depth, so rescue the bot is easy. Also there are very mighty pressure forces, be sure to proof your design.
You can use bluetooth for data transmit , bluetooth saves the battery and a range a 5-100 mtrs is possible in open air (bluetooth 1.1( 1-10mtrs/yards) or 2.0 (1-100mtrs/yards).
Perhaps program a switch that bluetooth will only function in open-air, when it hits the water it will stop transmitting. (saves battery).
You could use a compass (instead of GPS) module,speedo-meter and a depth-meter so you can move around a little with the bot.
There are some diving-computers around like delphin or suunto , they have almost all the sensors you will need. Just the price....