I've manage to stabilize the state machine more. While out of focus, the application will not go into a "Halt" state until it regains focus and resumes from a "HaltResume" state. When the application resumes from a "Halt" state, or just before actually, the current time is recorded. This eliminates continued processing while in the background and time jumps when re-focusing. I personally feel this has been my biggest hurtle. Making a stable system with reliable timing across multiple platforms.
The rest is cheddar. Ya know everyone just loves cheddar ;-)
Sharp cheddar :)