So then what the hell is it doing, if it's not completing a double SHA256? You've completely lost me on this. Again I have to ask... if it's not completing a double SHA how does it know that it's got any valid hash below the target?
You don't need the last few steps in sha to examine the first few bytes.
So the ASIC is essentially "screening"
POSSIBLE candidates for a solution? It rapidly discards impossible solutions and only alerts the upper level processor when it "might be onto something"?
Because of the nature of SHA256 you can tell three steps from the end of the second hash if the highest 32 bits are at or below the difficulty target. Got a very good article that describes the whole process in simple to read form. Can't find it right now but I'll post it when I do.