As a society, IMO we've moved beyond the idea that saying "no gifts" is tacky. The reason for this rule originally was that it's assuming you would give a gift in the first place, which was considered tacky. Well, guess what. We all know you're supposed to bring a gift to a wedding or a kid's birthday party. The only way to let people off the hook is to explicitly say "No gifts." I guess older aunts or grannies will still find it rude, but most younger folk breath a sigh of relief and enjoy the party even more.
But, yeah, explicitly asking for money -- still tacky, IMO. I don't think that has changed yet.
But "no gifts" or "your presence is your present." Hell, yeah!
I stopped doing it for kids' birthdays, mainly because I realized it made some of the other parents uncomfortable, like they were getting something for free. (Um, yeah, that's the nature of a party). My solution? Stop having birthday parties altogether. A few weeks before our kids' birthdays we have a "Just Because" party instead. No one brings a gift and they also think we're the greatest parents ever for throwing a party for "no" reason. Win-win!