I don't have time to understand the code
but i think you should hook form1.hwnd and GetParent(Form1.hwnd). Maybe the messages sent to the combo go through the window proc of form1 and when you put it in the caption they go through the handler of its parent and you have to rediret them to its original place.
In case that does work, why don't you create a new form, that is borderless, and make it be on top of form1 and move it to be always over the caption? in that form you put the combo....
Anyway, why do you want a combo in the caption bar?