WIMP2 worked by forcing processes to call Wimp_Poll, and then collecting events for them, and passing them to them one by one. It caused many problems, and didn't solve any relating to having multiple CPUs; only one program was running at a time, so it didn't matter.
The problem is that so many parts of RISC OS only have one "state"; everything from which directory you're in to how you're printing. Normally, this isn't a problem because the author of the software is careful about when he returns control to the OS for another application to get its turn. However, with PMT and SMP, there's no way to know when it is safe to swap task. What needs to be done is for every task to get its own state; including current directory and perhaps 50 other things.