Both Catalan and Spanish are the native language for people born in Catalonia. So most likely he wanted to be polite to them so they didn't feel bad for not being understood.
I can tell you that you are highly misinformed if you think the preference is Catalan > English > Spanish :)
I got the same impression as a tourist too. People had no interest in speaking Spanish with me. Admittedly, my Spanish isn't great, but then people in the service industry in Barcelona don't necessarily speak amazing English either. I got the impression that they'd just rather communicate in English. I think you would have to speak Spanish very confidently and fluently to do things in Spanish without feeling like a bit of a putz.
I'm Catalan, and I can see where you are coming from having worked as a waiter on my young days. Even if you speak broken english -which I did at the time- (a) you are there to serve, so you feel the obligation to be the one making the effort; and (b) you are usually more used to it than the visitor, because its part of your job anyway.
Hence, the usual result is that whenever you get spoken at in "broken" spanish you instinctively switch to english. Hell, I've went on to work on tech circles, and I still feel more comfortable speaking english with people who have a strong accent, even if they are germans/whatever and english is not their native language either!
With catalan it is a different situation. Anyone trying to speak catalan is not just trying to survive (they would do that in spanish!). They are actively trying to learn your native language, and it makes you and your culture feel respected by that person. In such a situation, you do your best to try to understand that person and help him improve further without being pedantic.
For a comparison, I've felt a similar "gratitude/respect reaction" when trying to say a few things in Gaelic while I was visiting northern Ireland.
I can tell you that you are highly misinformed if you think the preference is Catalan > English > Spanish :)