See this question and my answer there query_posts ->using meta_compare / where meta value is smaller or greater or equals…
Basically for the purpose of meta comparison value is always treated as string, because it is passed as such to $wpdb->prepare()
method.