Thanks Steve!
I just tested this out and it sort of works like I wanted it to but not quite.
So I think I know of a potential fix for this.
My main use case example is like this; you have a cylinder that faces vertically (for this example lets say the ends of the cylinder are have way between the grid 0.5), I want the ends of the cylinder to match the grid but only in the y direction . So in that way they points could snap to the grid instead of just moving 1.0+ from their previous position.
Right now if I take my cylinder with its ends being between where they should snap, and move them up by one with the grid enabled they will still be inbetween where they should snap.
My suggestion is to make it so if you hold down a different key (like ctrl) and move, it snaps the points ONLY by the axis you have selected and the other axis remain the same.
EG I have my cylinder and I want to snap the ends of it to a grid of 1.0 intervals and they currently are sitting at 0.4 between the grid. I enable the Y axis to move only and I hold down ctrl while moving the points and all the points snap to the 1.0 grid BUT ONLY on the Y axis.
PS. Sorry if the post is hard to read, I'm a bit sleepy right now ;p