As for the "theoretically" part, it is enough to prove that at least one such a system exists that will yield another result than expected. There could be various reasons, from human/software errors to hardware errors like memory bit flips. Since we know these do exist, it is not even theoretically possible to write a piece of software which will behave the same no matter how and where it is run, although it is certainly possible to write it in such a way that it will behave the same in a vast majority of cases.