Yeah, if you are speaking good Spanish and they want to speak English, chances are most probably they want to show off or practice their English. If you are speaking good Spanish and they can't seem to understand you at all and never try to switch to English (or other language) chances are they are just being dicks - OR your Spanish isn't as good as you think - it could be the pronunciation, not the forming of the sentences/grammar.
I have a few friends who think they speak "passable" Spanish. A couple do indeed, and know their limitations and don't get upset when someone doesn't understand them. But one or two others pronounce the words so horribly that I can't even understand them half the time and they tend to get pissed off, thinking people are toying with them.
I just got back from a trip to the States. I entered the States from Miami and had a good-sized layover. I was walking through the airport and had to ask directions to a smoking place and noticed a couple of airport workers congregated nearby, talking in Spanish. I walked up to them and began speaking in Spanish, knowing full well they almost certainly spoke good English and they didn't bat an eye, even though they probably knew I wasn't a native Spanish speaker from my accent.
Our oldest girl speaks mid-level English and we try to speak in English mostly so she can practice it, but we find ourselves switching back and forth between English and Spanish without even thinking about it. I find that to be rather cool
I've gotten to the point where I enjoy speaking in either language interchangeably and it doesn't bother me when someone wants to speak English, unless that someone is being obtuse in Spanish and says they can't understand me, even with repetitions (doesn't happen very often, but occasionally...) When someone who doesn't speak good English wants to talk to me in English, I don't switch back to Spanish unless they are stuck on something and I'll ask them, in Spanish, to say it in Spanish and then I'll repeat it for them in English.
I find myself wishing now that I know other languages - a certain 4-hour trip through the Tunisian desert, some years ago, with a local driver who didn't speak English and was ticked at me because I didn't speak Italian (in an attempt to find a common language to while away the long trip) comes to mind