Phatjew, thanks for your note. (I didn't even keep track on the posting-count..)
Mvandam, your alternative approach were definately more intuitive. Perhaps thats the way to go? Can you benchmark your approach to mine?
However, as I promised in an erlier post, I've made a more consistant approach, which voids all of the problems described in erlier posts:
Use the following code in top of all the files where it's needed:
 // Get path to this file. 
$pathparts = explode("/", realpath(__FILE__));  
// Then extract the module name from the path: 
$ModuleName = $pathparts[array_search('modules', $pathparts)+1]; 
// Prepare a prefix for the language constants. 
$VarPrefix = '_MI_'.strtoupper($ModuleName);  
Note: _MI_ should be replaced by the appropriate string.
_MI_ = ModuleInfo. Used in xoops_version.php
_AM_ = AdMin. Used in all admin files.
_MD_ = Modules. Used in... eahh.. Modules.
etc...
The use it like this in xoops_version.php:
 $modversion['dirname'] = $ModuleName; 
$modversion['name'] = constant($VarPrefix.'_NAME'); 
$modversion['description'] = constant($VarPrefix.'_DESC');  
And like this in the language files:
 define($VarPrefix.'_NAME','Skeleton'); 
define($VarPrefix.'_DESC','Simple module.');  
And like this in the blocks and admin (and smarty, to keep consistancy!):
 $xoopsTpl->assign('greeting', constant($VarPrefix.'_GREETING'));   
$uname = constant($VarPrefix.'_ANONYMOUS');  
And finally to sum it all up, these variables are very handy in blocks, admin etc. too:
 $ModuleUrlPath = XOOPS_URL."/modules/".$ModuleName; 
$ModuleRootPath = XOOPS_ROOT_PATH."/modules/".$ModuleName;  
I've not been able to spot any problems, yet... But thats what you are here for! 

Best regards,
Daigoro