php.net/manual/en/pdo.lastinsertid.php
Note:
This method may not return a meaningful or consistent result across different PDO drivers, because the underlying database may not even support the notion of auto-increment fields or sequences.
после такого нотиса в документации превое что приходит в голову это необходимость озаботиться «своим, надежным» инструментом.
как вариант — коммент от
php.net/manual/en/pdo.lastinsertid.php — чем не воркэраунд?
как вариант можно использовать еще
select IDENT_CURRENT('tableName');
или
select SCOPE_IDENTITY();
после успешной вставки.
ну и, конечно, не забываем о sessions и scope чтобы получить именно то что необходимо (
msdn.microsoft.com/en-us/library/ms175098.aspx )