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.