I know that clients reject a job if they already have a job in their execution queue that is the same as the one currently being sent.
This could be a full system scan for example. I've also seen this happen when I issue a command to update to the latest defs, but by the time the job executes, the client already has the newer defs than were available at the time of sending the command..