Per rispondere prima alla tua ultima domanda, "sì", sfortunatamente è normale ricevere numeri come stringhe. Come dice il manuale citato da Pascal, mysqlnd (PHP 5.3) restituirà i tipi di dati nativi dalle istruzioni preparate, a condizione che tu disattivi l'emulazione delle istruzioni preparate da PDO.
new PDO($dsn, $user, $pass, array(
PDO::ATTR_EMULATE_PREPARES => false
))
PDO::ATTR_STRINGIFY_FETCES non è correlato a MySQL.
Se guardi al lato positivo, è buona norma usare comunque le istruzioni preparate, quindi...;)