I have an excel formula that is very simple and it works because I can restrict the recursive iterations. I am not very script savvy, but this is what it is and it works.>
and if you want it to update if the cell is changed again just delete this line
if( nextCell.getValue() !== '' ) //is empty?
By the way, how can the date be formatted to ie. dd/mm/yyyy instead of the default dd/mm/yyyy hh:MM:ss format