One good thing: my Framework does not have any memoryleaks and is exeption-safe (I hope so ) thanks to "Effektiv C++ Programmieren"
Ah okay, I didn't know that. Congratulations then!
std::auto_ptr is a dangerous beast with its move semantics, I personnaly never use it. Are you sure that you use it properly?
At the moment, std::auto_ptr is the only smart-pointer that's really part of the standard library (shared_ptr is in TR1, scoped_ptr only in Boost (I still don't understand why)). Of course, one has to work with auto_ptr carefully, because as you said, it doesn't have common value semantics and can't be used like other objects, for example in STL-containers. Also things like that can be very tricky:
void func(std::auto_ptr<X> ptr);
I like std::auto_ptr because it is one of the few ways to employ move-semantics in current C++. For example, it works well with factory methods. Raw possessing pointers are rather unconvenient (especially regarding exception safety), shared_ptr would be the alternative. But why share ownership when we need to transfer it?