May I ask why it's tacky? I've been invited to showers doing the book thing and didn't think anything of it. I found out that both of my showers are doing it, too and one is being thrown by someone who I call on for etiquette advice at times.
It is ALWAYS inappropriate to dictate how another person spends their money and/or tell them what to give as a gift. Registries are similar to wish lists. They are helpful, but the person buying the gift is under no obligation to buy off the registry. It's simply there to help guide them if they want ideas on what to get. Being told to bring a book instead of a card, or a pack of diapers, etc. is tacky because you are not only telling someone what to bring, but you are essentially asking for a SECOND item on top of the gift they are already bringing you. Yes, I understand that it is often worded to be optional, but that doesn't change the fact that you are telling someone what to buy or how to spend their money. Even if you go with the argument that a book is cheaper than a card (which I don't buy, personally, because I like good quality books for children otherwise they are destroyed), not everyone buys cards. Whenever my older daughter is invited (which in my group, is often), I have her "make" a card so that she can feel more a part of the gift that we are giving. I know a lot of people who are very crafty and also make their own cards. Or do gift bags and just use the little gift note that is attached to them. Etc. But when it comes to etiquette, the best way to think about it is, you are not the person's mother, so don't tell them what to do.