I just want to give some info regarding that matter.
It is easier said than done unfortunately since wild pokemon always have the last 4 moves they learn via level-up. If you consider this fact its sometimes not easy or rather impossible to have different pokemon within the same level-range in one area without self-harming moves.
Hey, it will only try to evolve upon reaching the max amount of happiness. So you would need to faint it in a wild battle to lose some happiness and then get it to the max happiness again. Happiness evolutions dont need a level-up for the evolution, its only about reaching the max happiness.
This is not a bug. You have to beat the Aerodactyl before too many Kabutops reach the Latis, so you have to find the correct balance between beating the Aerodactyl fast and beating some Kabutops so not too many reach the Latis.
You had to encounter Latias in a location during the Jirachi quest. You most likely didnt have to do that step since you already had the seen-data from another source. However for the Lati quest you need to find Latias hidden in a random location.
You can check all available locations on the Jirachi guide: https://pokemonrevolution.net/forum/topic/163727-legendary-megathread-complete-quests-and-seen-data/