I have owned a Garmin 305 for a couple of years and been really pleased - I think you can pick them up for around £160-170 these days with a heart monitor, a little more if you want a cadence sensor as well. It seems to do everything you have asked ...