Speaking as an NC Programmer, I typically get models that are nominal and it is up to me to adjust my offsets to compensate for machine/tool tolerance, drawing tolerances, vibration, etc... It is fairly common for me to cut a part slightly heavy in areas that have flush cuts or similar features and let the operator hand work the mismatch.
It would be easier to have the parts modeled to the best size for machining and to just drive the contour and not have to worry about offsets but more often than not I have to tweak things anyway. Furthermore the chances of the engineer knowing the best size within the tolerance is, lets face it slim. That is why the company pays me to figure this stuff out. If you are going to spend a bunch of time modeling the part to the machining tolerances, you might as well program it as well, and you have better things to do with your time and the company's money.
As a draftsman, I would without a doubt model the part to the nominal dimension that is on the print. Do not model the part differently as this just creates confusion.
I have always tried to tolerance and design parts so that the median is nominal but I know in some circumstances this does not match design intent and you have to use -/- or +/+ tolerances.
The bottom line is, concentrate on communicating exactly what you want and what you will accept and the programmer/operator will do their job and give it to you.
David