Splitting the images up into two I'm not sure but I think might cause more of a delay, even by a millionth of a second. Although I'm not sure. My thoughts are two seperate images need to be rendered in the engine before they can be stamped onto the canvas. Where what I'm doing is this:
<img src="https://dl.dropbox.com/u/77974757/overlay.PNG" border="0" />
The red and green are each one image that are placed over each sprite. So it renders once before stamping over each image is what I'm assuming. Red is the collision sprite. So its set to solid versus the actual building. Then its a matter of checking for collision with the green image.
<img src="https://dl.dropbox.com/u/77974757/zorder.PNG" border="0" />
Everyone I've had test it so far has told me the movement is fluid with no to little stuttering.