You shouldn't need BobRays posthook, I'm using my solution in the linked post on my site and it works great.
Do you have an extra backtick in the end of line line 16 in your snippet call? That could possible break the preHook. The dob is stored as a unix timestamp and my prehook formats a "human-readable" date to a timestamp.
If that's not the problem, try to minimize the problem. Disable the datepicker and remove the prehook. Then enter a timestamp directly in the form field and see if that is saved.
If you want to see if the hook is working then change the snippet code to something like this:
<?php
$dob = $hook->getValue('dob');
$dob2 = strtotime($dob);
$hook->addError('dob','Before hook: ' + $dob + ' After hook: ' + $dob2);
return false;
That should throw a validation error with the input and output values of the hook as error message.