Jon,
Thanks for this! I'm new to Doctrine with a little Zend experience... with Doctrine 1.2 being moved to "Stable" so recently, this was by far the most up-to-date material on the topic.
I've had a few issues and I'd greatly appreciate it if you can help out a little.
First off, I followed your directions by doing it myself and whenever I try to run the cli script, I get an error:
--
Uncaught exception 'LogicException' with message 'Passed array does not specify an existing static method ' in C:\Pro[...]\Bootstrap.php:17
--
Line 17 in the Bootstrap is the spl_autoload_register() call. Here's the fun part... if I change Bootstrap to Doctrine_Core in spl_autoload_register and the line above it, I get a slightly more clear error that the class 'Doctrine' is not found. If I go ahead and change the static member references of Doctrine that throw that error to Doctrine_Core, everything works great.
I'm on Windows, Doctrines' files are all in my SHARED library folder (on the same level as /Zend/), my shared library folder is in my include_path, and Zend components work just fine.
Now, aside from changing the references of Doctrine to Doctrine_Core in the bootstrapper, another fix is to move the Doctrine library to the PROJECT library folder.
So, I'm desperate for help on this -- why won't Doctrine work in the shared ZF library folder and why would renaming it's usages to Doctrine_Core fix the issue? I understand Doctrine extends Doctrine_Core but that really just makes it more confusing to me with respect to why it's not working. My only guess is that it has to do with ZF registering "Doctrine" as an autoloader namespace, so it's expecting a class name to follow... but that wouldn't explain why it works in the project's library folder. 
Completely unrelated but I'm also wondering if these are the same thing?
spl_autoload_register(array('Doctrine', 'modelsAutoload'));
Doctrine::loadModels($doctrineConf['models']);
You used the former and I've seen others use the latter.
Thanks much for any help!