This can happen in a situation where you have 2 separate development states in your project. If a file exists in one of those development states, and then you try to use cross project merge to bring it into the other development state, the message returned to the Output Log will indicate success, but the file will not be visible, and in the end the merge never happens.