Get Posts from Last 24 hours and Sort them via GD Star Rating

The posts_where filters the ‘WHERE’ part of the SQL statement, and not the query string. So

$where .= "&post_date > '".date('Y-m-d H:i:s', strtotime('-24 hours'))."'";

should be

$where .= " AND post_date > '".date('Y-m-d H:i:s', strtotime('-24 hours'))."'";

Also as this hook is fired for every query (admin and public side), you should use some logic to only append the custom where statement when required.

Alternatively, you can add the filter just before your query and remove it again afterwards:

add_filter( 'posts_where', 'filter_where' );
$query_string ='gdsr_sort=thumbs&posts_per_page=10';
query_posts( $query_string );
remove_filter( 'posts_where', 'filter_where' );

See related Codex page.