The basic principal in a solution would lie in the fact that mIRC is general EVENT driven. For Example:
(&) Text said in a Dcc Chat, would be triggered ON CHAT, and you would then use /msg =$nick inside that and mIRC would automatically know where to send it, and vice versa the same is true of ON FSERV.
The problem would arrise however when both Chat and Fserv were open and you were calling /msg = from anywhere other than the on chat/fserv events.
Perhaps a better way of differing from chat and fserv should be thought of in later versions.