Aby najpierw odpowiedzieć na ostatnie pytanie, „tak”, niestety normalne jest otrzymywanie liczb w postaci ciągów. Jak mówi instrukcja cytowana przez Pascala, mysqlnd (PHP 5.3) zwróci natywne typy danych z przygotowanych instrukcji, pod warunkiem, że wyłączysz emulację przygotowanych instrukcji z PDO.
new PDO($dsn, $user, $pass, array(
PDO::ATTR_EMULATE_PREPARES => false
))
PDO::ATTR_STRINGIFY_FETCHES nie jest powiązany z MySQL.
Jeśli spojrzysz na jasną stronę, to i tak dobrą praktyką jest używanie przygotowanych stwierdzeń, więc...;)