This should actually be fixed since 22.214.171.124 according to the Release Notes, but it seems it is not.
I ran into this issue once with product pages using the country of manufacture attribute.
The country dropdown is added in
shipping.phtml with the
<?php echo $this->getCountryHtmlSelect('billing') ?> and
<?php echo $this->getCountryHtmlSelect('shipping') ?> method.
These methods refer to the
getCountryHtmlSelect($type) method of
Mage_Checkout_Block_Onepage_Abstract where the country options are gathered in
There you can see, that the cache-id
$cacheId = 'DIRECTORY_COUNTRY_SELECT_STORE_' . Mage::app()->getStore()->getCode(); is set.
The country of manufacture attribute is loaded via
Mage_Catalog_Model_Product_Attribute_Source_Countryofmanufacture where in the
getAllOptions() method the same cache-id
$cacheKey = 'DIRECTORY_COUNTRY_SELECT_STORE_' . Mage::app()->getStore()->getCode(); is used.
If you load a product page first where the country of manufacture is used, all the country options are available as there is no restriction. Same applies if you refresh the cache.