Added a couple of small updates to the svn which fixed performance when expanding a watch item to show object members. It turns out that Regex can have
really poor performance on seemingly simple searches.
Yes, of course, if you have time and desire you can do it, too 
I played around with this:
class cbWatch;
typedef cb::shared_ptr<cbWatch> cbWatchPtr;
and (and as I suspect you already knew) it doesn't really help all that much, because at times you want cb::shared_ptr<Derived Class> instead, and so each plugin would need to define those typedefs as well.
Things I don't like about the current implementation stand:
1/ It is confusing to refer to shared_ptr in some places and someclass::pointer in other places
2/ typedef shared_ptr<cbWatch> Pointer doesn't correctly inherit for derived classes (i.e. derived class still needs to define its own Pointer)
3/ someclass::pointer obscures that fact that this is a shared_ptr not a "*". (The implementation details matters when it comes time to clean up.)
Wouldn't the need for the plugin writers to use shared_ptr go away if the framework instead of the plugin provided the containers for the various lists of items. (Perhaps using a class template?)