I'm not sure what would be causing this. Could you put together a sample and zip it up and attach it to the forum so we can see what might be causing it?
Also, you might try adding a handler to the TextChanged event on the drop down list. Put a break point in there and look at the call stack, making sure to show all code (uncheck the "Enable Just My Code" in the Debug options). That will show you what .NET is trying to do and might clue you in as to why it's swapping out your value. My first guess would be that the position is changing on the CurrencyManager on the list source and resetting your value.