The single check problem is what Micros refers to as a ghost check. Basically it's an open check that's lost the link between the main check table and one of its child detail tables. Just give you Micros support a call and they can dial in or walk you through forcing it closed.
If the ghost check has been hanging around for a while it may be causing your purging problem too.
The "checks not purged" message usually means that your end of night autosequence either isn't running or isn't set up correctly. Here are some things to check:
In the POS Configurator, go to the Reporting tab, Autosequences button. Scroll down until you see your End Of Night procedure and click on it. If you run this manually, make sure that "Hide On Run Screen" is unchecked. If you let it run automatically, make sure the Schedule Class is set. Click on the folder next to the Schedule Class dropdown and make sure the corresponding schedule is correct.
Now go to the Autosequence Steps button. Select your End of Night procedure in the dropdown box. One of the steps with a type of "Stored Procedure" should be "Purge Historical Totals". Make sure that "Skip Step" is false.
If everything looks correct, write down the Autosequence number and close the configurator. Open windows explorer and go to \micros\res\pos\etc. Find 3700d.log and open it with notepad. File rotates with the End of Night, so all entries should be from the current day. If not, you'll know there's a problem.
Search the 3700d.log for the autosequence number you wrote down. Eventually you'll find a step with an error.
Once this is done you should look into running a rebuild on the database. When it can't purge totals it gets to a point where all the disk space it has allocated fills up and it has to start grabbing more. When it finally starts purging again, that space isn't returned to the OS until the db is rebuilt.