***In this instead of using*** `Mage::getModel('catalog/product_type_configurable')`  and getting child product color option.

You can ***use product collection resource model*** `Mage::getResourceModel('catalog/product_collection')` and filter that *collection by that configurable child ids* 

Then ***group by that collection attribute color*** using function `groupByAttribute($attributeCode)`. and you get your desire result



    // get childs ids in array
    $childIds=Mage::getResourceSingleton('catalog/product_type_configurable') 
    	->getChildrenIds($_product->getId());
    
    // Create a collection and filter childs ids 
    
    $collection =Mage::getResourceModel('catalog/product_collection')
    		->addAttributeToSelect('*')->
               addAttributeToFilter('entity_id', array('in' =>  array_values($childIds[0])))->addAttributeToFilter(
    'status',
    array('eq' => Mage_Catalog_Model_Product_Status::STATUS_ENABLE)
);;
    
    // group by color attribute
    
    $collection->groupByAttribute('color');
    foreach($collection as $eachPro){
    
    
    }


----------

**Note:**

If ***catalog product flat enable*** then the ***collection does not contain disable product***.For `getting disable products` in collection whenever flat enable,then use question: [How to get disable product collection whenever flat enable at frontend][1] 


  [1]: http://magento.stackexchange.com/q/69420/4564