WinFIG can snap to grid, snap to vertex and constrain new line points using manhattan/mountain/mounthattan geometry.
WinFIG 3.x could also contrain moves to x or y axis only. I will add that again in the next release.
I don't know if Xfig does that so much better. When I have an ellipse and choose the wide grid under "point posn", then I cannot even grab the ellipse if it doesn't touch any of the grid intersections. Same for other shapes.
I didn't really understand what I meant by " they to not align with the parent object". Perhaps, if I could understand your idea, this could be a feature to implement.