For at besvare dit sidste spørgsmål først, "ja", er det desværre normalt at modtage tal som strenge. Som manualen citeret af Pascal siger, vil mysqlnd (PHP 5.3) returnere native datatyper fra forberedte sætninger, forudsat at du slår den forberedte sætningsemulering fra PDO.
new PDO($dsn, $user, $pass, array(
PDO::ATTR_EMULATE_PREPARES => false
))
PDO::ATTR_STRINGIFY_FETCHES er ikke relateret til MySQL.
Hvis du ser på den lyse side, er det god skik alligevel at bruge forberedte udsagn, så...;)