Você pode simplesmente alterar adminhtml nome do cookie para subdomínios.
Duas mudanças no arquivo app/code/core/Mage/Core/Controller/Varien/Action.php
.
Nas preDispatch
linhas de mudança de função
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace))->start();
para
$namespace = $this->_sessionNamespace.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'');
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $namespace))->start();
Na setRedirectWithCookieCheck
mudança de função
/** @var $session Mage_Core_Model_Session */
session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace));
para
$namespace = $this->_sessionNamespace.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'');
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $namespace));
E depois dessa pesquisa por texto
Mage::getSingleton('core/session', array('name' => 'adminhtml'));
em todos os arquivos e substitua-o por
Mage::getSingleton('core/session', array('name' => 'adminhtml'.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'')));
se alguma ocorrência fosse encontrada.
.
frente do domínio, é importante!