Dunque, premetto che non l'ho mai usato ma a prima vista
vedo una sintassi che non capisco

se usi private sub StartTimer() e quindi Vb.net
non puoi utilizzare
codice:
Timer.Elapsed += new System.Timers.ElapsedEventHandle(Timer_Elapsed) 
(che è la sintassi di c#)
ma
codice:
AddHandler Timer.Elapsed, AddressOf Timer_Elapsed
(poi sei sicura che la parola Timer non sia riservata?)

cmq guardati questo MSDN
http://winfx.msdn.microsoft.com/libr.../e/elapsed.asp

c'è un esempio di utilizzo del timer