Hi
You are correct, you can call addSceneObject with the second argument set to true to automatically enable events for a SceneObject. This will enable all events that have been defined at that point. So if the object had an onMouseDown function, it will start receiving onMouseDown events. If it did not have that function and the function was created after the object was added to the scene, it won't be registered to receive that event.
You can manuall enable / disable events at any point using SceneObject.listenFor and SceneObject.stopListeningFor.
However, template objects do NOT receive events.
Template objects are a bit special. They do not receive events and are set to invisible by default. Their main purpose is to be cloned.
For example if you had a player shooting bullets, you would create a single bullet in the editor as a template object. This is going to be added to the scene, but it won't be drawn (by default) and won't receive any events (so it will not move, will not collide, etc).
When your player shoots a bullet, you would just do:
var myBullet = bulletTemplate.clone();
wade.addSceneObject(myBullet, true);
myBullet is now a regular SceneObject that receives all events, such as onUpdate.
Another possible use for template objects is triggers. For example, you may want to see if you character overlaps a template object (that you can see in the editor, but the player can not see in the game), and trigger an event:
if (player.overlapsObject(myTemplateObject))
{
door.open();
}
I hope this helps.