You have to be honest with him and let him decide if that is the kind of relationship that he wants to be in. There are a lot of guys and girls that don't want to wait until marriage and their concerns are valid. You don't want to marry someone that you aren't sexually compatible with.
I am not telling you to go for it, but it isn't unreasonable for him to disagree with you on this subject. Now is the time for honest communication, and for the two of you to decide if this compatibility is a deal breaker for either of you or not. You might lose him. That doesn't make him a bad boyfriend that doesn't care about you, but it could mean that you just weren't compatible.
Anyway it sounds more like he is really just a player, that is just looking for the thrill of sleeping with someone that is hard to get. He does after all have a history of just sleeping around and not caring about the girls at all. If you ignore his past and get hurt, then you are setting yourself up for heartbreak.
I doubt you will listen, but more than likely you aren't the reason he changed his mind. You are more likely just a fun challenge. It sounds like you are letting a known player, play you. We are taught not to look at peoples past, and that is generally done by people, with bad pasts. Us ignoring their past makes it easier on them to use us just like they used everyone that came before us.
Use words instead of playing games and sending signals. Simple words which cannot be misunderstood: "If you want to know what your future sex life will be, marry me first or buy tarot cards and learn to read them."
You just need to tell him that you don't want to have sex before marriage and that you want him to take no for an answer. Tell him if it bothers him he should leave. You don't need to be manipulative playing games and you don't need to be hostile, just firm.