I have a similar "condition" as yours. I did a CS major (graduated this june), but by the end of my junior year, I had fell in love with some areas in pure math - so I decided to pursue a PhD in this. Over the four years I took courses in calculus, mulitvariate calculus, algerba, real and complex analysis, number theory, "fuzzy logic", set theory and computability (my college allowed alot of courses in the "others" category). I am appearing for the subject test coming saturday, and in the mean while, pursuing some research work with this prof at my college, although a research paper seems lightyears away.
I asked around, and it turns out that a masters degree has its pros and cons. For one, you still might have to take courses once in the PhD program, so you typically waste a year or two. Secondly, I cant guarantee whether i'll get be able to keep a great gpa in the masters, so I might end up in an average program for a PhD. Thirdly, PhD acceptance committees expect more research work from masters students than from undergrad, so you will have to produce some great papers in those couple of years. Finally, masters is usually not funded.
However, if you keep a good gpa and do great research work in your masters, you'll end up in decent PhD program.
This is what i learnt. Anybody like to comment on this?