The easiest way to prevent this from happening is to edit the Employee Report / Employee Checkout autosequence (Configurator -> Reporting -> Autosequence Steps ; to find out which auto sequence it is running, you can go into the touchscreen design and track down the button) and add this step:
Type stored procedure, stored procedure Lock Employee (it is #146 on the system I am using).
Now what this means is that while they can clock out, they can't take any orders. Typically, I then go into the End of Day autosequence and add this step:
Type stored procedure, stored procedure Unlock All Employees (it is #149 on the system I am using).
This way, when they come in the next day for a new shift, they are unlocked already. If you have certain employees that sometimes work double shifts and thus need to be able to keep going after running their report, you will have to add a button in the manager screen that lets you unlock a specific employee.
The button needs to be Category type of Autosequence, Employee Prompt, linked to an autosequence with a stored procedure of Unlock Employee with a Parameter of Employee Parameter, and Source of Object Number.
And there ya go.. when they run their employee report, they can't log back into the transaction screen until either the end of day runs, or a manager manually unlocks them.