Again, there's no official guidelines on this, but I try to keep these class aliases all lowercase, my logic being something like
Ideally, these shouldn't be case sensitive, because that leads to subtle capitalization errors and human programmers want to treat catalog and Catalog as the same word)
So, since I can't have them case insensitive, I'll leave them all one case, making the rules simple.
And lowercase is easier to read than uppercase
Also, (I believe) all the shipped core Magento class aliases are lowercase. When in doubt, follow the leader.
Side Note: A similar principle leads me to eschew inter camel casing class names like
Me_MyModule
Instead, I use
Me_Mymodule
Magento itself doesn't follow this practice, but I've been bitten too many times by the class autoloader and the impossibility of creating consistent followable rules for inter-casing (Something vs. SomeThing, etc.)
As far as
<model>
<me_mymodule>
<class>Me_MyModule_Model</class>
</me_mymodule>
</model>
vs.
<model>
<mymodule>
<class>Me_MyModule_Model</class>
</mymodule>
</model>
I favor the former. Magento merges all the XML configuration files into a single configuration tree, which means if you use the same node as another extension developer, you create potential problems down the line. Magento Inc. can get away with single word group names (Mage::getModel('groupname/class-name'),Mage::getModel('catalog/product'), etc.) because they own the platform, and stepping on a Magento module group name is clearly wrong, whereas two extension providers are more on a level playing field, so it's not clear who should have "the rights" to a unique name.