Как возможно такое, что из одной даты в js высчитываются разные значения в миллисекундах?
Всё потому, что редко кто задумывается о разнице GMT и UTC. Всё локальное время создаётся в GMT, в котором важно смещение относительно гринвича.
А UTC система была внедрена для исключения влияния часовых поясов на временные отсечки.
Итого:var date = {
	year: 2014,
	month: 7,
	date: 13
};

document.write(
	Date.UTC(
		date.year,
		date.month || 0,
		date.date || 1
	)
);
И в любом часовом поясе будет выведен один и тот же результат.
Никак. Вы уверены, что даты одинаковые? Различие в 4 часа. Может, что-то с временными зонами?