Rails automaticky zavolá to_i na vašem parametru pro některé metody, hlavně ty, kde se jako parametr očekává celé číslo, jako Listing.find(params[:id]) .
U jiných typů vyhledávacích metod, které mohou přijímat řetězce jako parametry, však budete muset ručně zavolat to_i
Listing.find_by_id(params[:id].to_i)
Listing.find(:conditions => ["id = ?", params[:id].to_i])
Důvod, proč nemáte problém s MySQL, je ten, že MySQL dělá to, co by ve skutečnosti bylo to_i na jeho konci (tj. nejde o problém databázového adaptéru, ale spíše o schopnost skutečného databázového serveru).