Simplemente puede cambiar el nombre de la cookie adminhtml para los subdominios.
Dos cambios en el archivo app/code/core/Mage/Core/Controller/Varien/Action.php
.
En función preDispatch
cambiar líneas
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace))->start();
a
$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();
En setRedirectWithCookieCheck
cambio de función
/** @var $session Mage_Core_Model_Session */
session = Mage::getSingleton('core/session', array('name' => $this->_sessionNamespace));
a
$namespace = $this->_sessionNamespace.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'');
/** @var $session Mage_Core_Model_Session */
$session = Mage::getSingleton('core/session', array('name' => $namespace));
Y luego de esa búsqueda de texto
Mage::getSingleton('core/session', array('name' => 'adminhtml'));
en todos los archivos y reemplazarlo con
Mage::getSingleton('core/session', array('name' => 'adminhtml'.($_SERVER['SERVER_NAME']=='subdomain.example.com'?'_subdomain':'')));
si se encontrara alguna ocurrencia.
.
frente del dominio, es importante!