Scrap-
Good. A color calibration meter is a great start to getting repeatable, accurate results. You really need one and I cannot stress that enough. $2000 graphics monitors come with these meters as standard equipment. No monitor is 100% accurate.
I would suggest getting a second monitor for editing photos and inspection before output. The 20" aluminum iMac uses a consumer based LCD panel that is notorious for color shifting and other things. The 20" iMac uses a TN panel which is the cheapest kind of panel put into LCD's these days. All manufacturer's use these types of panels in their budget monitors. This panel is great for lots of other things, just not photography. You need to be using a LCD with a S-IPS panel. These monitors are considerable more expensive but the panel uses wider color spaces like Adobe RGB (instead of sRGB or a CRT or NTSC standard) and the colors are more accurate and true. Unfortunately, these monitors are easily $650+ for a 20" model.
The easy way to tell the difference in person between the two panel types is just by looking at them. If you look at the 20" iMac, the colors shift orange or yellow when you look at the monitor at an angle on the horizontal axis. The screen gets darker or brighter when you look at it from a vertical angle ( part of the issue you're having, right?) The 24" iMac has the S-IPS panel which doesn't see this color shifts or not as harshly. If you're comparing these two types of monitors by looking at their specs, the easiest way to tell the difference is to look at the refresh rate. The refresh rate on a TN panel will be in the 2ms to 5ms range. The refresh rate for an S-IPS panel is around 12ms or slower. (This is the main reason why most manufacturer's don't use these panels more often, other than fact they are expensive.)
Once you have these two things set, you are almost good to go.
I would get as much info from the lab you use. Find out what color spaces, ICC profiles, gamma, and all that jazz that they use for printing. Knowing these things are very critical. If you're working in the sRGB space using gamma 2.2 and they use Adobe RGB and gamma 1.8, your prints will be off every single time even if your monitor is calibrated correctly. You need to find out all of this info and then change your workflow to match theirs. You should be able to choose the color space you use in Photoshop and you can tell the color calibration tool to use either gamma 1.8 or 2.2.
Once you have these things down, you should get accurate or pretty close to accurate results every time.
Things will never be perfect though. You need to realize the monitor uses RGB to display colors and printers will use CMYK. The range of colors each method puts out is different.
Sorry if this is all stuff you know. If it's all new, hope it helps. Let me know if you need anything else.