This problem seems to be quite old. I searched the forums and Google for the resolution, but haven't found it.
What I do is:
1. Load Prototype
2. Load jQuery (link to it) but not executing any code.
3. After a timeout, I call jQuery.noConflict(), and then try to use prototype.
This works on all major browsers except IE (I tested IE 8).
Some of the suggestions I saw call to load jQuery first instead of last. This is not an option for me, since I can't mess around with the order of the libraries. Also, it seems that if the call to jQuery.noConflict() is moved before the setTimeout block, the problem does not reproduce. This is not a good option for me too, because I have to run my code within setTimeout.
Any thoughts will be welcome. This is happening with latest jQuery (1.6.4) and Prototype.(1.7.0.0).