Yeah that should be fine. Seems like a good way to deal with it, but you could also just store a Point(or Vector3 I think) object, and set it to null when there is no point to go to.
public void Draw(SpriteBatch spriteBatch) {
if (point != null) {
spriteBatch.Draw(//.....)
}
}
if (point != null) {
//moving towards point code
}
This may also help with your //moving toword point code
issue https://gamedev.stackexchange.com/questions/53879/xna-moving-towards-3d-point-rts-style though when I was looking into pathfinding last the best I could find was white papers.