It was a fun experiment - now I'm looking at playing with the trace flag to implement a form of threading though I suspect that'll be somewhat slow. Who knows. I've run into a few example co-op multi-tasking examples that I may start with -- implementing a lightweight scheduler and removing the co-op aspects. Who knows.
Threading using the trace flag sounds a bit odd but I'd be interested to see the results! In any case let me suggest a couple of ideas:
a) You can use interrupts to simulate threading. There are quite a few of them on the 68000 but the useful ones for your case are the ones that are tied to timers, of which the ST has 4 (A, B, C, D). By programming the clocks you can do timeslicing easily. A fifth timer you can use is the Vertical Blank interrupt which occurs 50 or 60 times per second (depending on your monitor refresh rate). During those interrupts you can save the CPU state, run your code and then restore it back. Then the other "threads" won't even know anything happened (unless you might want to for some reason)
b) If you require more than the 4 (or 5) timed interrupts then you could program a timer to run an interrupt that "simply" switches to the next thread's cpu state and then exit. That way you can have an arbitrary amount of threads that again will run in a time sliced manner.
Hope this gives you some food for thought!
P.S. Before anyone mentions it - yes there are some other timed interrupts one can employ such as the HBL interrupt but I didn't want to bog the answer down with a complete reply.