Cloud is pretty messed up at the end of Crisis Core, thanks to Hojo, and his experiments, Zack's death though, was the main reason he was in such condition. His mind simply couldn't cope with the fact that his best friend is actually gone, as a mean to keep Zack "alive" he took his memories. Zack was a successful 1st Class SOLDIER, thus for one part of the game Cloud thought he was a 1st Class SOLDIER.
As for Sephiroth's body, humans exposed to high dosage of Mako turn into monsters, they don't vanish, just mutate. Sephiroth on the other hand is far from ordinary human, Jenova cells are part of him, thus his body is more resilient to Mako exposure. In period between end of Crisis Core and events of Final Fantasy VII his body traveled through the lifestream til it reached Northern Crater.
Crisis Core is official prequel, and Advent Children is official sequel, therefor they have everything to do with the main events of Final Fantasy VII, the fact that they're not tied too well is another pair of sleeves. Crisis Core is connected rather well, unfortunately, as it usually happens, adding new factors to already told story increased already huge list of plot holes.
Bookmarks