Fatal errors in PHP terminate the current code "stack" and jump directly to the shutdown handler, so they avoid try/catch blocks. You could register a fatal error handler:
App::fatal(function() { DB::getPdo()->rollback(); });
But this would likely not work well if there was no transaction started when another fatal error occurs.
The general advice here is to just avoid fatal errors as a whole. Fatal errors indicate a bug in your code as opposed to exceptions which are more "expected" errors happening in your applications.