Hi Barry,
Nice job. The problem is with your "clear" method. You already suspected
this since your comment says:
// TODO: Check that this works with VML.
$(this.art).getChildren().destroy();
This is not the way to clear a container because the root container for VML is
actually two elements instead of one. You're removing the inner one so there's
nothing to add content to.
I should add an "empty" method to container objects. For now you can use this
extension:
ART.implement('empty', function(){
var node, parent = this.element;
while (node = parent.firstChild) parent.removeChild(node);
});