I don't understand why Joomla do not have facilities in the core to acces indirecly the files and images.
To be honest I can not using JDom in my module so I needed call it somehow and safely.
In coming 2.5, cook is using JLoader. This means that only one line is required to register all the files of your component. (only request loader.php of your component and that's it).
With JLoader, your requested class files are not loaded in memory until they are used. So this is really nice when you have huge components, and very nice because you do not need to make your include_once() in the functions everywhere in classes / modules, etc...
This is I think one of the most important features in 2.5
JDom embed it's own loader for the moment because JLoader is still lacking a little bit (even in 3.0), but when Joomla will handle it properly JDom will use the native Loader.
Anyway, in 2.5, you can use JDom in multiples components much more easily.
I may also create JDom plugin, but maybe better in the Joomla core if the team is accepting.
JDom can now be instancied (not only static), and will stay in JApplication (same as JInput) :
$app->dom;
By the way, you can find JDom in the GitHub repository :
github.com/Cook-Self-Service/joomla-plat...libraries/joomla/dom
This is the current JDom version available in Cook.