I'm not sure if jimproz has the problem with multiple attributes or not, although I tested that on my own site and it didn't give me any problems.

You're probably best adding
Code:
die($listing_split->sql_query);
before the $listing = $db->Execute($listing_split->sql_query); line in includes/modules/product_listing.php.
That will show you the SQL statement that is being generated. You can then hopefully see what is causing the issue....why that statement is returning an incorrect number of rows.

Remeber to remove the statement after though!