Perhaps you're using two forms on your form page. I was having a similar problem and just solved it.
The problem I was having: my dynamic dropdown, drawn from an external PHP page using AJAX, was populating fine, but my $_POST array on the resulting page was not listing the chosen value in my dynamic list.
Here's what I did to solve the problem. In my PHP page called by my AJAX routing, I modified my <select> statement as follows:
<select name="veModel" id="veModel" onchange="partSearch.veModel.value=veModel.value; alert(partSearch.veModel.value)">
... where partSearch is the name of the veModel field's parent form on the search page. The alert() is in there for debugging. You will, of course, want to remove this after you verify the fix works for you.
Hope this helps!