How do we prevent the Test network from being misrepresented as production?
The main precaution against such practices should be the main client clearly stating that it is operating on testnet and perhaps with addition "for testing purposes only. Get free testing bitcoins at testnet faucet". This would protect some buyers, but not all (those that would be perhaps scammed into using a testnet eWallet or something).

As for why one shouldn't assign any value to testnet bitcoins, I would argue that the main reason is that the testnet has a tendency of being reset from the very beginning. Currently we are at testnet 3 as far as I remember, and there is nothing stopping the development team from starting a new testnet without much warning.

All in all, if people can be convinced to buy testnet bitcoins, there is little one can do.