Cooperative or Preemptive?
I do know that Palm OS 5 is preemptive, however I do not know about older versions of Palm OS. However I believe older versions of Palm OS are cooperative with some interrupts for non-cooperative callbacks. Palm OS will essentially freeze if a program handles the event loop incorrectly or does not give the OS a chance to perform work.
Alarms could be used if there is no preemptive multi-tasking to simulate a preemptive call. Basically when an alarm is called it can launch the program which then performs the proper dispatching and such.