Depends on where you add the tags in the xml. As you said "to the pages" I'm assuming inside the page tags. The engine interprets everything inside page tags as elements, so what would happen is the engine trying to load an external element with the name of the tag (i.e. an swf with the name, like the vid element). Most likely there is no such swf, therefore an error occurs. If it bothers you, have a look at the Element class, inside the load function. It first determines if it's an "internal element", i.e. one that can directly be instantiated, or an "external" one, i.e. one implemented inside an extra swf which has to be loaded. Before the
} else {
// No, load the element swf file
try {part (around line 203) you could add an else if that catches all of your custom data tags (doing nothing at all, just avoiding the default case and thus the error).
As for the xml passing: well, yeah, for some cases that might indeed give a lot more freedom, I agree. Although I'm not very fond of your implementation - after all, if you have a getter in the MegaZine class, why not get the xml data via that getter in the swf itself, but instead pass it as an extra parameter?

I'll add that getter in the next version.