Have you flushed your changes to the $audit object?
$audit = $dm->getRepository("WGenSimschoolsBundle:Audit")->findOneById("xxxx");
//do something somewhere to change the object
$dm->flush();
Every time you do a findBy(...) or findOneBy(...) it actually fetches a new document from the DB. (you should see the query in the Symfony profiler)
With a find() instead, it will fetch the document from his internal proxy cache.
The Documents stay in the proxy cache until you call the $dm->clear() method.