This is really good advice. I wouldn't return the treatment he's giving you - that sounds silly and slightly immature, or at least in my mind. If you're going to make a real, serious relationship work, then communication is really important. My first girlfriend, who I was with for almost 2 years, fell out of love with me probably a good few months before we broke up. Instead of telling me straight up, she ran me round in circles, was very cold towards me(sort of like your boyfriend), was acting really different and, in short, she just wasn't the girl I fell for when we first started going out. I should have realised it and ended it before trying to fool myself that things will get better.
You definitely deserve better than what you're getting at the moment. No one deserves a partner who pays them little attention, never spends quality time together and, at any chance, insults them rather than appreciating them.
You've got 2 options really: 1. It may be hard to do, but it looks like making a clean break and searching for love elsewhere is probably the best solution. 2. However, wou could find out what is wrong with him; you say he used to be really nice, sweet, romantic etc, so it can't have gone away over night. Talking things through and finding out whats up could give you an answer.
To be honest though, if he hasn't realised that his behaviour is pretty awful and shoddy, then explaining things may not really help. I'm sure there's someone else out there to treat you a whole lot better
Best of luck!