I'm jumping into this a little late, but writing as an X3J13 member who voted on these things, the reason for not placing definitions on keyword symbols is the same as the prohibition against placing special variable or global operator definitions on symbols inherited from the CL package, or any other package of which one I'd not the author.

The arguments why one might want to do this were expounded early in the thread. The danger is collision. When an acknowledged CL expert like Hans or Kenny places a definition on an inherited symbol, he obviously knows what he is doing, has good reason, so it should be ok. But when some idiot neophyte comes along and does exactly the same thing, it may be hard to remember which is who.
:-)