Umm.... That doesn't really make sense. Antennas don't consume more or less power based on their effectiveness. A highly directional and efficient antenna will have great performance while a dummy load with the same input power won't work at all.
Most handheld GPS receivers just have a simple patch antenna for reception.
New smartphones (such as the Droid, Evo, Eris), have a "true" GPS receiver built in. They do not rely on the cell networks exclusively to determine location. They, generally, use the network to get a general idea of location then, if the user has the actual GPS receiver enabled, it switches to that for greater accuracy.
All Android phones actually have a compass built in as well as it is a requirement by the operating system.
All Android phones are very good caching devices. With the latest algorithms and WAAS, my Droid will take me, on a good day, to 5' or 6' accuracy.
The key is to make sure you have the GPS radio turned on while you're caching (turn it off when you're not as it'll save your battery immensely).
Make sure you have your GPS radio turned on. I think Sense UI includes a handy widget for you to do this from your homescreen. Turn the GPS radio on when you're geocaching, then turn it off when you're not. If you don't have the GPS radio on, the phone tries to determine your location via fancy systems using the cell tower locations. While those work for determining what town you're in, they won't help you find a geocache in the woods.