In any case, the boost libs still rock! Maybe I'll dig a little deeper and make a proposal; after April 15th of course!
After investigating various ways to solve my difficulties from previous posts (see http://lists.boost.org/boost-users/2005/04/11119.php and http://lists.boost.org/boost-users/2005/04/11120.php), I've settled on the following solution.
I believe the changes contained in the following patch (to http://www.boost.org/libs/thread/example/recursive_mutex.cpp) enable more traditional/procedural mutex operation (i.e. un-scoped locks). I think my COM component is saved!
diff -u recursive_mutex.cpp recursive_mutex_key.cpp
--- recursive_mutex.cpp Mon Apr 18 08:52:07 2005
+++ recursive_mutex_key.cpp Mon Apr 18 09:03:03 2005
@@ -13,19 +13,27 @@
#include