Edmonton is pretty flat, but one can get a fair amount of climbing done by going through the river valley. My commute dips into the valley twice, plus once through a ravine; Garmin tells me I get about 450 feet of climbing each way over 16 km/10 miles. Plenty of flats in between.
I quite like my Garmin Edge 500; it has a barometric altimeter for more accurate elevation change tracking. Sign up for a free Garmin Connect account, plug the GPS into a computer, and it all syncs seamlessly. Connect also now has Strava-like segments, if you're into that sort of thing. I don't actually use my GPS on my commute, just a couple times initially to get distance and elevation data.