Two things - what if parent_xblock is None? (this line will probably say, "Nonetype object has no attribute 'save'"

Second thing - until I'm done working on https://edx-wiki.atlassian.net/browse/LMS-769 , mutable types won't actually be persisted if you only call things like `append`. You'll need to do something like `children.append(new_block); parent_xblock.children = children` so that you actually hit a `__set__` call, so that the save will actually persist the new list.