Одна вещь, которую вы могли бы сделать для преодоления сброса высоты поля со списком, - это настроить решение SendMessage на таймер, скажем, каждые 250 мс или что-то в этом роде.
Кстати, вы говорите о DropDownHeight или фактической высоте элемента управления? Если это последнее, вы можете изменить его размер, увеличив размер шрифта. Именно на это указывает размер поля со списком и почему вы теряете это измерение при взаимодействии с ним.
Но ваш план хранения 1К записей в поле со списком на портативном устройстве - это проблема удобства использования. Трудно выбрать вещи из списка в поле со списком, когда есть несколько предметов на выбор. Если вы добавите в список 1 тыс. Элементов, вы будете вынуждены прокручивать пользователя, что очень трудно сделать даже для опытных пользователей Windows из-за размера скроллера, стилуса и странного характера некоторых сенсорных экранов там. Вам следует подумать о процессе фильтрации, при котором вы ограничиваете количество элементов в поле со списком на несколько порядков.