E Skill learns new skills by being subject to those skills in battle. So it's a matter of fighting the proper enemies, not enough battles. It's also impossible until the end of the game, due to one being in the last dungeon. There are 3 "problem" E Skills, as it were, that cause some frustration. 2 because they can be lost forever and one that's fairly luck based.
- Chocobuckle, granted by level 16 Chocobos near the Chocobo Ranch. They'll only use the attack when low in health, and the only way to get them to it without them running away immediately is to use another Enemy Skill, Lv. 4 Suicide. Level 16 ones are the only ones that can be hit by the skill, anyway. However, it's never quite guaranteed that they'll use it, so it may take some time.
- Trine, used by the bosses Materia Keeper and Godo, as well as Stilva, an enemy in a dungeon that can only be visitted once. So once you have beaten both bosses and gotten past that dungeon, it becomes impossible to learn the skill. So make sure that when you fight the bosses, you wait long enough for the skill to be used.
- Pandora's Box, used by the Zombie Dragon enemy in the final dungeon. This one is interesting because in any save game, the skill can only be used once. So you need to make sure you have every Enemy Skill materia equipped at this point, because if you run into a Zombie Dragon and it uses Pandora's Box and you don't have it, you've just lost it forever.
Past those, the rest tend to be a simple matter of fighting the right enemies and waiting for the right attacks. There are some buff spells which will need you to use the Manipulate materia on the enemy, such as Dragon Force, Angel Whisper, and White Wind. If you see an enemy using one of these skills, then use Manipulate and force it on yourself if it's available. Past that, the rest is all a matter of getting your face beaten in.
General strategy is simple - always keep that Materia on at all times! Then you will not miss the one-times and you'll always catch it when the attack happens in normal scenarios, rather than having to hunt the skill down amidst all the rest of the late-game stuff you need to do.
There's nothing specific against cheat codes that should make the Sephiroth battle impossible. However, depending on your cheat choices, you may make the battle more difficult. I'm assuming the one that would destroy you is Safer Sephiroth, the one-winged angel form. In addition to all of its special abilities, it also has the following two bonuses that you probably triggered in your cheat methods compared to your non-cheating methods.
- Each character at Level 99 (except Aeris) adds 30,000 max HP, 2 Attack, 20 Def, 5 Magic, and 16 MDef.
- Casting Knights of the Round on Jenova∙SYNTHESIS (who you fight just before Sephiroth) adds another 80,000 max HP.
Numbers were pulled from the Final Fantasy Wiki. The previous form of Sephiroth also gains increased HP from level 99 characters and using KotR on Jenova, but not nearly as much.
The total boost he can reach for HP alone is a factor of 5: from his normal 80,000 to 400,000. His other stats, of course, are also improved, notedly with a strong emphasis on defense. This is what makes an under-level party (and one who failed to acquire Knights of the Round) actually easier to face off against Sephiroth. I know I managed to defeat him on my first playthrough at subpar levels (Cloud only know his Meteor limit, Vincent his second, and I had Cait Sith with Dice... I don't even know what I was playing at that time).
The only other factor you may have run into is that in using cheat codes you might've slouched in better party upkeep, such as by forgetting to equip proper status defense (he has a lot of those) and buff the party consistently. Past these things, though, using cheat codes shouldn't have any direct effect.
A note should be made that the faux final battle that ensues afterwards is cited to have some interesting effects when using cheat codes, none of which cause Game Over though. It does reinforce that cheat codes themselves shouldn't have affected the previous fight.
Best Answer
Cloud, like the other Sephiroth Clones, was being controlled via the Jenova Cells in him.
In moments where it seems someone is talking to Cloud while he is asleep (such as when they were locked up in Hojo's Lab in Shinra Tower), this was actually Jenova and as theorized by Hojo with the Reunion Theory, Jenova's separated cells would seek out to be reunited going so far as to control the body.
Source: Reunion Theory
While Cloud's party was chasing after Sephiroth (who was actually Jenova after escaping from Shinra Tower), Cloud actually wasn't chasing anyone. He was being lead to Jenova by the Jenova Cells in his body seeking to return to the main body that had taken the form of Sephiroth.