I've accomplished most of the bullet points I outlined below, in a simple way, and made the resulting model available on SourceForge. The new model simulates a simple herbivore / plant ecosystem interaction. The objects are simple containers with one attribute - energy. Morphs are capable of consuming objects, which eliminates the object and transfers the objects energy to the morph. Moving costs the morphs energy. When a morphs energy drops to zero it dies. When a morphs energy exceeds an upper threshold it reproduces using asexual fission. The transmission of memes is perfect - from peer to peer and from parent to child.
My next task is to add information loss to the transmission of memes. The challenge with this is ensuring that the resulting meme is always an executable program that will exit. I'm now thinking I may need to refactor some of the architecture to implement this robustness while implementing a general information loss model.