Hi,
I've a 310XT Garmin - which gives a British Grid Reference, Heart Rate info, Altitude (not barometric) and a stonking claimed 20h battery (I've tested it out to 17 and there was still juice).
It's also waterproof (designed for tri-athletes) so handles anything the weather here has thrown at it.
It does most of what I want - and you can customise the set ups, so I have one for running, and one for walk giving different info. So the walking one gives a bearing, altitude, time of day and sunset time as well as heart rate, distance etc.
I also have a casio barometer/compass watch (it was a bargain, what can I say) that's normally threaded through my shoulder strap.
P