Hardware accuracy is nice, but as noted, it's not practical. "Perfect" hardware emulation is on the order of 100-1000x slower to run. And yes, it's ALL timing issues. The SNES' clock speed is ~3 MHz. That sounds weak, but that means your timings must be accurate down to the millionths of a second.
Which reminds me of the time when I was discussing GPGPU vs. CPUs and I was stating "well, CPUs are going in the more-cores direction too; you can't increase clock speed much more because you can't get power everywhere fast enough" and someone went "tch" like I didn't know what I was talking about and then I was all "for the skeptical, let me rephrase: you can't get power everywhere in the chip in a billionth of a second" and they were like... "oh". But I digress.
--
assert(!hotterThan(foo, "Hot Nymphomaniacal Lesbian Mind-Controlling Dominatrix Fairy Doctors with glasses"))