on layout change set float chaseDistance to distance(player.x,player.y,enemy.x.enemy.y)
Every seconds if bool enemyNotSpawned = true subtract enemySpeed from chaseDistance
if chaseDistance < 0 spawn Enemy
This should work even with layout changes before the enemy spawned again.
Or do you want to achive something like this:
layoutA>layoutB>LayoutA Enemy is still in layoutA running to layoutB?