This usually happens when something the current batch is using gets deleted. Things like Sales Taxes or Tender Types are the most likely, and the only way I've seen this happen is by deleting/updating records directly in the database via SQL. I'm pretty sure that when I saw this error it was when I was rebuilding Tender Types to make the TouchScreen displays work correctly.
The only other thing I can think of that might cause this would be if there is no current batch - again, only possible via SQL.
I would recommend getting your reseller or MS tech support involved with this right away.