There is a bug in the current 4.6.1 distribution which prevents multiple-attribute product stock values working correctly.

In catalog/includes/functions/general.php - line 116:

$track_stock_query=tep_db_query("select products_options_id, products_options_track_stock from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id in ($options_list) and language_id= '" . (int)$languages_id . "order by products_options_id'");

..should be..

$track_stock_query=tep_db_query("select products_options_id, products_options_track_stock from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id in ($options_list) and language_id= '" . (int)$languages_id . "' order by products_options_id");

Note: The errant ' on the end of product_options_id, what this means is the SQL checks to see that language_id = '1 order by products_options_id', instead of: language_id = '1' order by products_options_id.

What this error basically means is that the "order by product_options_id" bit doesn't work, which is critical to the subsequent product stock check SQL.

I've attached an amended general.php which replaces the file from the 9 Aug 2009 contribution.

More...