Looking that snippet could the the problem not be in how you are handling your sprites, not how you are using chipmunk e.g. I don't know how you are managing your sprites etc, but if you have called dealloc on your NSObject, but somehow used it again then you would get a crash. If you didn't call dealloc, but had done other stuff that invalidated the sprite you could get the invisible blocks problem (unfortunately I don't know cocoa so don't know what things could be wrong).
Try not removing the shapes or bodies if you still get a crash then that implies it's how you are managing your resources and not anything specific to how you are using chipmunk. If you still get a crash then it implies the body/shape/space are getting corrupted somehow.
BTW you don't show how you add the shape to the space.