Wait, are symmetric ciphers guaranteed to cycle through the full space of block-sized numbers when applied to their output like that? I thought that was just "close to" true?
You might be misunderstanding the algorithm. We're only encrypting an incrementing number, not ever encrypting something that is already encrypted.
Edit: To clarify, I do now understand that you were proposing:
random number X -> output encrypt(X), encrypt(X+1), encrypt(X+2), etc
Which I had misinterpreted as:
random number X -> output encrypt(X), encrypt(encrypt(X)), encrypt(encrypt(encrypt(X))) etc.