@rhofer I am glad you were able to resolve the issue. I get that it is not visible to the naked eye, that mono is in bootloader. We wanted to keep the bootloader as small as possible, taking up a minimal amount of flash memory. Therefore it does not talk to the display or any other peripheral. It presents itself as a HID on the USB port.
@malaire I have found the source of the issue on Debian, it the modem manager service that keeps resetting Mono by pulling the DTR low on all serial devices. I will post an more informative reply, in your original post.
In relation to the timer, there is an issue with your code:
Timer timr(1500); // Creates a timer on the stack
} // The stack frame is popped, along with the timer
The variable timrdoes not stick around to call you function, it gets a dealloc when the function returns. Add your timer as a member variable on AppController, and change the code to this:
class AppController : mono::IApplication
// member variables