My Garmin 60Cx works in the deep woods, canyons, ravines, urban jungles. It even works inside my house. It may be old, but it works very well. Newer models (like the "H" series) are slightly smaller with just as good reception.
The problem with any small "camera" specific unit is going to be its reception. If it can't receive continuously, it won't do much good.
With a 60Cx -- the "S" part, as in 60CSx is not necessary since it adds a battery-sucking electronic compass and altimeter, but the "x" is important since it means expandable via a microSD card -- you can just turn it on at the beginning of the day, throw it in your bag, then take it out and download the track at the end of the day.
I can't speak to any software for taking the info directly to your shots, but I just file the tracks away by date. In the future, if I need to know where something was taken, I can just open the track for that day, and pinpoint the time.