Index: wp-includes/wp-db.php
===================================================================
--- wp-includes/wp-db.php	(revision 21103)
+++ wp-includes/wp-db.php	(working copy)
@@ -850,7 +850,8 @@
 	 * @return void
 	 */
 	function escape_by_ref( &$string ) {
-		$string = $this->_real_escape( $string );
+		if ( ! is_float( $string ) )
+			$string = $this->_real_escape( $string );
 	}
 
 	/**
@@ -901,6 +902,7 @@
 			$args = $args[0];
 		$query = str_replace( "'%s'", '%s', $query ); // in case someone mistakenly already singlequoted it
 		$query = str_replace( '"%s"', '%s', $query ); // doublequote unquoting
+		$query = str_replace( '%f' , '%F', $query ); // Force floats to be locale unaware		
 		$query = preg_replace( '|(?<!%)%s|', "'%s'", $query ); // quote the strings, avoiding escaped strings like %%s
 		array_walk( $args, array( &$this, 'escape_by_ref' ) );
 		return @vsprintf( $query, $args );
