You're right - Justin didn't stand up for himself then, or originally when Brian said he didn't believe in birthdays at Babylon, when Justin weakly said that he agreed. But this is NOT enough to let Brian off the hook.
If you love someone, you want to do little and big things to make them happy. One of those little things is celebrating a birthday. Brian felt that making some bogus point about the pointlessmness of birthdays was more important than Justin's feelings. It was such a self-absorbed, thoughtless thing to say, so he gets a fail from me for that. When Lindsay reprimands him, I think Brian genuinely makes an effort by getting Justin the hooker (the underwear model comment and Brian's reaction to Justin's reaction tells me this). So now Justin gets a present, but it is a present that Brian would like himself rather than one that Justin would like. This is consistent with Brian's general paternalistic behaviour when it comes to Justin in S1/2. He thinks he *knows* what's best for Justin (and is very generous in that department: college fees, electronic crayola box, etc.), and isn't very interested in what Justin wants, or know that this is something you should even factor in.
Re "love bashing" comment: yes he isn't trying to be nasty, but just because he's a straightshooter, doesn't mean that he shouldn't be mindful of others' feelings, especially given the incident he is referencing (when Justin nearly died, received no justice, and is permanantly injured because of).