This is just the default ruleset.
Miners are free to choose their own rules. I believe luke-jr's pool requires all TX's to have a fee, if an extremely minimal one.
And, last I heard, ArtForz's mining cluster is set to accept all free transactions regardless of the standard blocksize limit for free transactions, so it all evens out in the end.
My opinion is that the rule should be changed to drop the minimum fee in the default client
and set back the minimum free transaction as well. The massive growth we have seen recently has moved these limits from really tiny amounts to non-trivial limits, and the growth isn't likely over.