So I tried both of those with different results...
Doing the Mouse.X(layer) kept the object following the cursor BUT, I have the cursor snapping to a grid. And when my camera moved, it would still snap but not to the same grid anymore (like it was snapping to a grid on the GUI layer and not on the GAME layer). Is there a way to fix that?
I also tried the CanvasToLayer (and a bit disappointed at how little the manual has on it), but this didn't net anything of use. The object did not move around much, similar to how much movement I was getting originally.
Other thoughts or corrections to what I'm doing?
Ok I played with it a bit more and got a lot closer:
Set X: round(Mouse.X("Game")/Global_GridX)*Global_GridX
Set Y: round(Mouse.Y("Game")/Global_GridY)*Global_GridY
This mostly works, except it seems to not allow much distance from the original point in the object before moving to the next tile over.