Absolutely any algorithm, repeated over and over, will eventually return you to the same state you started at. Think of it this way. There are 43,252,003,274,489,856,000 positions on a cube. If you repeat an algorithm, even one that produces a unique position every time, then you must eventually come back to a position you were at before.

I don't remember how to make precise the proof that you will eventually return to **the** same starting position, but it is using essentially the same idea. If you break any algorithm down into it's net effect on the cycles of pieces, and orientations of pieces you can then calculate the least common multiple of when each of those effects returns it's piece type to solved. This essentially returns the cube to the original state before you started.

Chris