Even if the Salesforce hackathon rules didn't strictly disallow pre-existing code, a lot of participants came away feeling bitter, as they had put a lot of effort into their code in the given timeframe and felt like they could never have won if their code was compared to code that might have existed for months or more.
I know they want to encourage people to hack on more things, and the prize should not be the goal -- it should be building cool shit and sharing/talking about it. But I know I'd be nervous investing so much energy into building something, documenting it, and polishing it if someone working on a project for a few years decides to submit it and blows everyone away. Hope that's not too negative -- I just want people to walk away from the event willing to build more cool stuff, not feeling bitter :)
[1]http://www.zdnet.com/salesforce-com-tries-to-clear-the-air-o...
Additionally, the openness encouraged by the competition (as a judging criteria) will allow the community time to scrutinize entries and call out any that appear to be 'cheating'.