I found this article which mentions the use of innerHTML rewriting the content of the div it was adding to, hence wiping previous values.
My first attempts were simply rewriting div elements and adding new innerhtml to the div for each requested form field. This solution worked, but it rewrote the entire div, thereby removing any pre-filled form elements.
Unfortunately it does not say why this is the case, I'm curious does anyone know why innerHTML works this way?
var form = document.getElementById(formdiv);
var div = document.createElement('div');
ajax_content('formSelect'+(i+curnumselects), url, params+"&num="+(i + curnumselects), 1);
The new code is attached and uploaded to the demo page with the three different methods of adding the drop down boxes.