Вы создаете две разные функции в обоих вызовах. Таким образом, вторая функция никак не связана с первой, и двигатель способен удалить эту функцию. Вместо этого используйте общий идентификатор для функции.
var handler = function(event) {
app.addSpot(event.clientX,event.clientY);
app.addFlag = 1;
};
area.addEventListener('click', handler,true);
позже вы можете удалить обработчик, вызвав
area.removeEventListener('click', handler,true);