It seems that your questions are not about python C++ but about how to control object life time.
PyCXX is not going to solve your C++ object life time issues.
What I think you are saying is that when the python object is deleted the C++ objects it uses may need to live longer.
You need to find a solution to your object life time problems. There are smart pointer classes that will help
with your object life time issues. But its not PyCXX goal to solve that problem, only the Python interface problem.
You can start with the python object and then get the C++ object that implements it:
ExtensionObject<MyClass> obj( args ); // exception thrown if wrong type
MyClass *p = obj.extensionObject(); // get C++ pointer