Maximum CP will be the same for all individual Pokémon, regardless of your current level and the Pokémon's current CP ceiling.
Every Pokémon can go from level 1 through level 40, with the Pokémon's CP ceiling equivalent to your player level +1.5 until level 40.
This means if you're level 25, the highest level any Pokémon you own can be 26.5. If you're level 10, the highest Pokémon you can own is 11.5. If you're 30, then 31.5, etc., capping out at 40.
As an example, if you're level 20 and you have a perfect Vaporeon, its CP ceiling will be CP1729 at level 21.5. When it reaches this point, attempting to further power it up will result in the message that your player level is too low. Now when you reach level 21, then you can further power this
same Vaporeon to level 22.5, or CP1810.
This mechanic WILL NOT change for any Pokémon whatsoever. This isn't a mystery. This is just how the game works.
If you're level 25 and you have a level 23 Magikarp at around CP170, evolving it will yield a level 23 Gyarados around CP1700. Evolving a perfect IV capped level 26.5 Magikarp of CP198 will yield a Gyarados of the same level and cap, which would be CP2035.
Essentially, if you evolve any Pokémon that is currently maxed at its CP ceiling, it will evolve into a Pokémon also maxed at its CP ceiling. It doesn't matter what YOUR level is. It is all dependent on the
Pokémon's current level. Though, of course, the Pokémon's level and CP ceiling
are dependent on your current level.
Again, there are zero mysteries involved here. These are basic mechanics in this game.
Also:
At level 30 you have maxed out on CP with what could possibly be caught in the wild though max cp for evolved and hatched pokemone will continue to increase ever so slightly with each level.
I covered how evolving works. CP is dependent on the individual Pokémon's level at that time.
Fact: yes, at level 30 the cap for wild Pokémon CP is maxed out.
Not fact: hatched Pokémon CP will continue to increase with each level.
Hatched Pokémon by default will not exceed level 20. This means it doesn't matter if you're level 20 or level 40. Any Pokémon you hatch will not exceed level 20. This means no hatching CP3000 Snorlax. The highest hatched Snorlax you'd be able to get at any point in the game is
CP1778 with 100% perfect IVs.