You know that your answer to this question is a simple one. If the guy is giving you that much of a runaround, cut him off and don't keep giving him the impression that he can waltz back into your life at whatever time of his choosing and then waltz back out and keep repeating that cycle. Holding yourself out for him is just holding back your own life, while he probably tests the field before coming back to you.
So I say you need to end that. However, if you feel strongly for him and you really want to be with him long term you need to make it clear that you're giving him ONE opportunity and if he walks out again, there won't be another.
Be careful with your heart, because when someone seems too good to be true, they usually are.