After some grueling debugging, I think I have found a bug in the iPad Safari\'s implementation of canvas.drawImage(). Specifically this overload:
canvas.drawImage()
This bug seems to have been fixed in iOS 4.2. At least, I don't see it happening any more.