En PDOStatement returneras för varje fråga som exekveras. Du kommer att kunna använda PDOStatement->rowCount() när som helst i din kod (under eller efter en transaktion och rollback/commit spelar ingen roll). Varje objekt tar hand om sig självt.
Anledningen till att mysql_affected_rows har den transaktionsanteckningen är att den bara är medveten om en enda mysql-anslutningsresurs. Detta innebär att när du slutför transaktionen (commit/rollback) har en ny fråga skickats till DB, vilket ändrar vilket resultat som bearbetas för antalet berörda rader.