VLC seems to reinitialize the codecs or something every time through. I am unaware of any way to stop this.
However, I can get videos to loop smoothly with mplayer. Windows binaries are on that page (Windows download page, choose appropriate platform, just below news section).
To install it just extract it somewhere. Then on the command line (or via a shortcut or a file association), run:
mplayer videofile.xyz -loop 0
And it should loop smoothly forever. To start in full screen mode:
mplayer -fs videofile.xyz -loop 0
Make sure you put the -loop 0 last. If you put it before the file name then mplayer will restart on every loop. If you put it after then it runs smoothly. I don't know why but apparently it's a very old quirk (or maybe it's by design, I don't know, -loop is actually rather flexible) (also note the OSD issue mentioned there has long since been resolved).