if the 'using std::tr1::shared_ptr;' statement is itself nested in a local namespace, then the shared_ptr typemap breaks down. A small isolated version of the problem has been included in a tarball. Please see the code there for more details.
This appears to be a rather odd corner case. However, I managed to spend days confounded by it none the less. I didn't find a solution for my project until after reading the boost_shared_ptr.i file.
The offending output when g++ is run on the generated wrapper code is as follows:
example_wrap.cxx: In function ‘PyObject* _wrap_MyObject_create(PyObject*, PyObject*)’:
example_wrap.cxx:3061: error: ‘shared_ptr’ was not declared in this scope
example_wrap.cxx:3061: error: template argument 1 is invalid
example_wrap.cxx:3061: error: expected unqualified-id before ‘>’ token
example_wrap.cxx:3064: error: ‘result’ was not declared in this scope
example_wrap.cxx:3065: error: expected type-specifier before ‘shared_ptr’
example_wrap.cxx:3065: error: expected `)' before ‘shared_ptr’
example_wrap.cxx:3065: error: expected `)' before ‘;’ token