How would you deal with a client that is trying to poach one of your consultants (we run a ruby on rails consultancy)? My engineer was honest about it and told us upfront what was going on. It's kind of complicated since the client is one of our largest sources of revenue at the moment.
First thing to remember, is that the consultant isn't "your consultant" - they're a human being.
Do they want to go? If the answer is no, then you have nothing to worry about. If the answer is yes, then the decision has been made, you have nothing to worry about (except to start recruiting a replacement, if you need).
If you're looking for a middle ground, the Dutch have made a pretty good run at turning secondment into a business model. You keep the engineer on your payroll, insurance etc, but, hire them for an extended period of time (years is not unusual) to the company that want's them.