Emacs Lisp 73 chars
----------
 
The best way to loop forever? A cyclic list! 



 (let((a'(?\^D?\^H?\^O?\^P?\^W?*)))(setcdr(last a)a)(while(print(pop a))))




But wait, there's more!

?\^D is the nice way to insert the char for EOT, however if I was just submitting a file I wouldn't need the literal "\^D" I could just insert a '?' followed by an actual EOT character, thus taking the real number of needed chars down to: 63

*Edit*

I've been working on "gel" which is not a real language yet, but is basically series of emacs lisp macros for code golf. In "gel" this would be the solution:

 (m a(~o ?\^D?\^H?\^O?\^P?\^W?*)(@(<^(^ a))(...)))

and without the waiting:

 (m a(~o ?\^D?\^H?\^O?\^P?\^W?*)(@(<^(^ a))))

44 chars with nice character entry. Would be 34 if not for it being a web submission.