Hallo,
hast du eine Windows-Anwendung mit Nachrichtenschleife? Dann kannst du SetTimer verwenden und die WM_TIMER-Nachricht auswerten, genau dies macht der VB-Timer.
Wenn du eine Konsolenanwensung hast, solltest du einen neuen Thread starten und darin mit Sleep warten. Das Warten mit Sleep und anderen Kernelfunktionen wie WaitForSingleObject oder auch Userfunktionen wie GetMessage ist sehr ressourcenschonend. Das spielt auf heutigen Notebooks beispielsweise eine große Rolle: Wenn man in einer Schleife wartet, geht die Prozessorauslastung auf 100% und der Lüfter fährt hoch. Das ist ein Zeichen von schlecher Programmierung.
Es stimmt übrigens nicht, dass der Prozessor immer zu 100% ausgelastet ist. Moderne Betriebssysteme haben einen [http://en.wikipedia.org/wiki/Idle_task|Leerlaufprozess], der den Prozessor fast die ganze Zeit anhält, um Energie zu sparen.