I recognize this situation even though I'm not at a consultancy. We have several long-term projects where the resources are often yanked to take care of crises in short-term projects. It's common to work on a project for a few days, be pulled out for eight weeks, then you go back for a few days again.
I think your question of "how to ensure internal resources get the respect required" sounds like "how do I give my project higher priority". But in any company you have to accept that there are low-priority projects; the interesting question IMHO is how to create a sane work environment where you keep yourself and others motivated, and where the overhead of the start-stop mode is kept to a minimum.
So far what I've been trying to push for is that once you do go back to a project, you get to work on it for at least a week. The exact size of the period could be adjusted to the project, but the point is that you should have time to start on some item and finish it within the period, so that you get closure.
The other (or one other) issue that needs to be solved is helping people remember what they were doing the last time they were on the project. I haven't tried this yet, but I think it would help with a software tool or wiki for maintaining a distributed to-do list, to keep fairly detailed notes of where you are in the project and what you are doing. Not only can this help the original developer get back on track, but it also makes it easier for other developers to continue where he left off.