Se devuelve un PDOStatement para cada consulta que se ejecuta. Podrá usar PDOStatement->rowCount() en cualquier momento en su código (durante o después de una transacción y la reversión/confirmación no importa). Cada objeto se encarga de mantenerse a sí mismo.
La razón por la que mysql_affected_rows tiene esa nota de transacción es porque solo conoce un único recurso de conexión mysql. Esto significa que cuando completa la transacción (commit/rollback), se envía una nueva consulta a la base de datos, alterando así qué resultado se procesa para la cantidad de filas afectadas.