Agh. That's frustrating. I know there are some who subscribe to not checking in the interest of speed, but I still get suckered often enough that I've been working to ensure code checking is always part of my routine as I exit the control. If you run with a map for just a regular run, you can practice this by setting yourself a "course" and then mentally going through your punching routine every time you get to a "control." Then it becomes automatic and hopefully saves some frustration down the road.
Now that we're on the move, I'm planning to use Open Orienteering Map to set myself a "course" for my regular runs more often - pretty neat way to produce a quick map of wherever you happen to be. http://oomap.co.uk/global/#/new/streeto_global/4/-...
gets you started if you want to try it out.
Glad you got out on a map this weekend!