You can use...
return std::auto_ptr<Base>(derivedPtr); // explicitly use constructor
...or...
return derivedPtr.operator std::auto_ptr<Base>(); // use cast/conversion operator
(The reason you can't just return derivedPtr
is that the above are ambiguous candidates).