I would ask why you and your ex broke up. If you're thoughts are going to him, then there are obviously hang-ups, even if those hang-ups aren't specifically about your ex.
I will give you a bit of my experience though:
I was in a cycle of bad relationships... Well, they weren't even that bad...they were all nice guys, but the relationship was unhealthy for both of us. Whether it be drama, or insecurities, or unhealthy behavior, or putting up too many guards, etc. etc.
That was the point in which I kinda gave up on the dating thing and started focusing on myself, and questioned why I was always attracted to the same type of guy/personality - which inevitably would turn out badly...
Then came along this great guy... We are both healthy people mentally, spiritually, and physically (or at least we are working toward that). He is supportive, loving. He challanges me, etc. etc. They were all the things you said. And, he brings out the best in me...
There was a time when we were first starting off, like 6 months in or so, that a similar thing started to happen to me. I found myself distancing myself from him. I was getting a little obsessive over some of my exes. It was a very similar thing. But, I knew I didn't want to be with those guys again.
I think when we find someone who challanges us, and makes us a better person and healthy, it's hard work, and it's committment. And, often, we revert back to old patterns and behaviors because change is hard, even if it's healthy change. My boyfriend and I were able to talk through a lot of it. It wasn't easy, and a lot of past insecurities came up that I didn't know I even had anymore...but he was right there, and I was there with him. And through it, we became closer, and those old and unhealthy behavior patterns began to work themselves out. And, through it, we fell in love even more...
Sometimes we feel like we don't deserve good things, and healthy things, so we sabatage ourselves.
But then again, maybe the chemistry is just not there. But, it must have been there at one point for you to move for him, right?