Поскольку функция обратного вызова, при которой вы вызываете внутреннее оповещение, запускается ПОСЛЕ вашего внешнего оповещения.
Попробуйте на секунду отложить внешнее оповещение, и вы увидите, что будет указано правильное значение
setTimeout(function(){ alert(newPoint); }, 1000);
Это происходит потому, что функция, в которой вы вызываете внутреннее оповещение, является асинхронной
РЕДАКТИРОВАТЬ: Обратите внимание, что вышеприведенное является плохой практикой и должно использоваться только для того, чтобы помочь вам понять, что происходит и почему.