you're still going to have to template your CTransparentBtn if you go the other way
template <class theClass, class theBase>
class CTransparentBtn : public CWindowImpl<theClass, theBase, CControlWinTraits>
then
template <class theClass,class theBase>
class ATL_NO_VTABLE CMenuButtonImpl : public CTransparentBtn <theClass, theBase>