В качестве быстрого ответа... Наговнякал такой вот код, который, судя по всему работает, но нужно еще понять почему. Постараюсь разобраться после обеда:
X++:
function OpenForm()
{
var now = new Date();
now.setMinutes(now.getMinutes() - now.getTimezoneOffset());
var parameters = {};
parameters["subject"] = "Test";
parameters["scheduledstart"] = now.toISOString();
Xrm.Utility.openEntityForm("appointment", null, parameters);
}