G5000 - problem with setting correct altitude

The G5000 in the longitude, in VR, will not set the correct altitude. When ATC assigns an altitude, say 3000’, the dial will let you go say 2963 or 3144 but NOT 3000, causing ATC to nag nag nag because you are not on altitude.

What am I doing wrong?