The original code runs through the numbers 0-59 very very fast. Thousands of times per second. The Arduino can easily count to 60 in less than 1 millisecond.
Then once a second the timer expires and whatever LED it's pointing to gets checked. That will be basically random.
What is wrong with gfvalvo's code? Does it do something like you expect?