If you want to validate the date, you'll have a hard time doing so just with regex. But, fortunately, PHP has a checkdate function. You just have to extract the day, month and year, which should be pretty easy but will slightly change your regex. Don't forget to put parenthesis around each element (day, month, year), to be able to retrieve them.
If I'm not mistaken, your regex should be something like that :
/^[A-Z]([0-9]{2})([0-9]{2})([0-9]{4})[0-9]{6}[A-Z]$/
Then check the date, so:
preg_match('/^[A-Z]([0-9]{2})([0-9]{2})([0-9]{2})[0-9]{6}[A-Z]$/', 'D160289784495A', $match);
var_dump(checkdate($match[2], $match[1], $match[3]));