About the demo, look into the source code folder of the project (if you open it with SGDK2.0) or in the last sourcecode tag of the project (if you open it with XML Notepad). The source code name is CustomFunctions.cs. Open it and you will see the code I wrote to open up the dialog.
Here is the C# code that you will find:
using System.Windows.Forms;
using System.ComponentModel;
namespace CustomObjects
{
public class CustomFunctions
{
[Description("Ask a question")]
public static int AskQuestion(string message, string title)
{
//
// Dialog box with two buttons: yes and no.
//
if(MessageBox.Show(message,
title,
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
return 2;
}
else
{
return 1;
}
}
}
}
When you add a custom function like this, it appears in the list of preset rules.
About managing the XML, I would suggest to create the structure of the project first. Make your project template with nothing in it (create graphic sheets, Framesets, Tilesets, Maps and give them proper names but don't fill them with pictures, etc). When all the elements are created (or enough of them to get your 3 level designers started), give them a copy of the template and tell them with which elements you want them to work (just to make sure they won't work using the same parts so they don't overwrite one another work). When they are finished with a map, you open your template project and you simply replace your empty (but properly named) tags with their filled tags. This way, it's easier to make sure you don't duplicate / overwrite stuff, etc.
Writing a little program to replace tags in the project file, like Jam0864 suggested, is a good idea too.
