Acho que uma boa estratégia aqui é determinar programaticamente o tipo de dados de cada coluna em uma tabela e lançar os resultados retornados de acordo. Isso permitirá que você interaja com seu banco de dados de maneira mais consistente e simples, enquanto ainda lhe dá o controle necessário para que suas variáveis armazenem o tipo de dados correto.
Uma solução possível: Você pode usar mysql_fetch_field() para obter um objeto que contém metadados sobre a coluna da tabela e então converter sua string de volta para o tipo desejado.
//run query and get field information about the row in the table
$meta = mysql_fetch_field($result, $i);
//get the field type of the current column
$fieldType = $meta->type
Um exemplo completo pode ser encontrado aqui:http://us2 .php.net/manual/en/function.mysql-fetch-field.php
Uma vez que o PHP é livremente tipado, você deve ter um tempo relativamente fácil com isso.
Se você estiver usando técnicas OO (orientadas a objetos), poderá criar uma classe com essa funcionalidade nos métodos setter() para não precisar ter código duplicado.