Yes. QNX supports more than 4 processor SMP machines.
The API for assigning each thread is the ThreadCtl() kernel call. This calls allows you to change the runmask (processor affinity) of a thread. The usage is simple:
ThreadCtl (_NTO_TCTL_RUNMASK, mask), where “mask” is a bitfield, and 1s indicate processor which the thread is allowed to run on.