I've got a Garmin 500, highly recommend it for endurance work and trail riding. Can't really comment on it's suitablity for BMX, but it has the features you are after.
Garmin has the added advantage of the GarminConnect web site, where you can store, view and compare your training sessions. It also does map overlays which is great for trail riding - again probably not relevent to BMX.