First of all, you should prevent your app from crashing! You can implement global unhandled excpetion handler, if nothing else, and there force data to flush (or at least prevent the app from closing too early).
By default, the SQL Compact engine can wait up to 10 seconds before flushing to disk. This is controlled by the "Flush Interval" connection string setting, whcih can be as low as 1 second. So doing that may be a good start.
You can also make SQL Compact flush data immediately, by using the SqlCETransaction Commit mode "Immediate" - see my blog pos here for a full sample: http://erikej.blogspot.dk/2013/05/sql-server-compact-code-snippet-of-week_21.html
Both of these option will affect perceived performance.