Quote: " it's been my experience that you'll never ever notice any difference in your game by optimising these sorts of things"
in isolation, yes you're absolutely right. But if you get into the habit of good coding practises, it will make a difference to the completed application. As you compound your game performance with less-than-optimal practises you can reach the point where you no longer get the framerate you want, as seen all over these boards.
The alternative up above is 90% faster in my tests.
A good example of bad code compounded is this, and you see it a lot:
for n = 1 to 1000
bulletLife(n) = bulletLife(n) + (newTime / 1000 / 60.0)
next n
It would be far better as:
thisTime# = (newTime / 6000.0)
for n = 1 to 1000
bulletLife(n) = bulletLife(n) + thisTime#
next n
In a game running at 60FPS, the first example performs 119,999 unnecessary additional operations a second! Hence my stand on optimising code wherever possible.