As far as I can tell retraining looks at both yours and your pokemon's rank and is limited by whichever is lower, with overranking being the only way to break past both yours and your pokemon's rank capping the possible moves taught. for example: if an Amateur rank trainer retrains a Beginner rank Skiploom, then the Skiploom can be taught either Starter rank or Beginner rank moves. if that same Amateur rank trainer tried to retrained an Ace rank Tangrowth, then the Trainer would fail as per the "training a disobedient pokemon" section, which states you can't train a pokemon you've caught/traded/recieved that is of a higher rank. However if either the Skiploom or the Tangrowth managed to overrank with the Amateur rank trainer, then the Skiploom could learn an Amateur rank move and the Tangrowth could learn a Pro rank move. Of course each table should generally decide how close to RAW and RAI that their journey will take them. If the above seems unituitive to the players, and the GM is ok with home ruling to some other interpretation, then go have fun at your table (nobody will call Officer Jenny on you if everyone is having fun).