Easy enough...
Well, you've basically heard similar answers to mine, but here's my spin on it:
If a person can cast the spell (i.e., it's in their books or they "know" it as a sorcerer/bard), then no prob. They know the spell and its limitations - provided, of course, that what they are looking at is exactly like what's in the PHB.
If a person is unable to cast the spell, it really comes down to Spellcraft. I'd handle it this way: DC=15+spell level to recognize the spell in effect. Knowing what the spell
is isn't the same as knowing the spell's effects. For that, a successful Knowledge (arcana) check would be needed, with a DC of, say, 20 + spell level. Basically, this reflects that the fact that if the character has not actually cast the spell him/herself, they have only other people's descriptions to go by for figuring out its effects, which seems more appropriate for a knowledge skill than spellcraft, which is certainly the appropriate skill for identifying the spell.
I'd give an appropriate bonus to the knowledge check to a character who had seen the spell used before, but I'd only do this if it could be shown that the character's exposure to the spell was covered in their background material.
As for players using knowledge their characters could not have, if it bothers you, you should tell your players. Make it clear to them that you dislike it, and propose a solution to it. One possible way of handling it would be to say that if a player uses knowledge that their character could not have, you will ask that they not participate in another game session at your table until they've reread the Player's Handbook from cover to cover. It's then up to them whether they want to return to the game or not badly enough to read the PHB. Of course, you have to be prepared to accept the fact that the player may not return, but that might not be too big a loss
