Will repeatedly applying a hash function to the prior result visit all possible hashes?
Given an infinite number of repetitions of the above, is it possible that all possible hashes will be computed an infinite number of times?

Yes, it is possible; however it is (to the best of our knowledge) extremely unlikely.  Not only would MD5 (on 16 byte inputs) be a permutation, it would also need to be a single cycle permutation.

Is it possible that given some initial message, there may be a revisiting of the initial hash just shortly after the start of the procedure

That is also possible, but again, unlikely (just not as blindingly unlikely as the previous scenario); for a random function, the probability of this happening would be circa $2^{-64}$
The most likely scenario would be that we would fall into a loop that does not contain the initial hash.
All this can be shown if MD5 is assumed to act like a random function.  Now, MD5 is not a random function, and it might have some unknown behavior that would change things.  However, from what we know about MD5, that looks unlikely.