I would say you could use the lock functionality potentially (associated locks per user), but as your Intercepting this does add another level of complexity to doing this.
Other options would be to add in pre-submit scripting perhaps, or to test using triggers to account for specific scenarios.
Is there a reason why, as you want CPS to really do some pretty advanced scheduling, why you are not moving these jobs wholesale into CPS instead of Intercepting them?