orderby in query_posts

take a look here:
http://codex.wordpress.org/Function_Reference/query_posts

you need to change orderby=meta_value to orderby=meta_value_num -> than you value gets treated as an integer not a string!

query_posts('meta_key=wpfp_favorites&orderby=meta_value_num');

i would pass an array instead of a string like

query_posts( array( 'meta_key'=>'wpfp_favorites', 'orderby'=>'meta_value_num' );

you dont have to but its easier to read and WordPress converts that string to an array anyway….