Just for information - i had the same problem, the modx error.log keep saying that pk is missing. No matter what, i couldnt make the $object->save() function to work.
So i just changed in my schema from xpdosimpleobject to xpdoobject and added the "id" field myself (@redman line) and it worked.
Sumoborac