Thanks so much guys, this was exactly the issue.
Normally, we have been using Excel.Cells(i,j) and that worked - so that's what we used. For some reason, the loop I added changed the context and it started returning the Cell object within that IF statement, and it would always pass because the Cell object would never be "Null". Now, we will be explicitly using .Text to avoid issues, (at least, that's what I'll be pushing for ;-p).
But this also points out more functionality to me and opens new avenues. Up until this point, I've been working with someone else's code and my brain doesn't question what someone else has written because I presume it was the correct/best/only solution. But issues like this and others I have been posting about have made me go back and really question what's already been written.
Thanks guys!