Your main must be decorated with a single thread Apartment Attribute like
this:
[STAThread]
public static void main(string[] args)
In order for the System.Windows.Forms.Timer to work.
This might be the problem with the MessageBox also,
the UI Events don't execute with this attribute.