Вот держите простой пример:
var numberInput = document.getElementById("number");
var inputsCount = 0;
numberInput.onchange = function() {
var value = this.value;
if (this.value === 0) {
var last = area.lastChild;
area.removeChild(last);
return;
}
if (value < 0) {
value = 0;
this.value = value;
}
if (value < inputsCount) {
var last = area.lastChild;
area.removeChild(last);
}
if(value > inputsCount){
var inputNew = document.createElement('input');
area.appendChild(inputNew);
}
inputsCount = value;
};
Главный косяк у вас в том, что вы не как у себя не считали кол-во добавляемых элементов. Да и использование inline - обработчиков не есть хорошо, используйте
addEventListener.