What you describe is due to having copied sections in the project. When you copy-paste MIDI clips, each pasted copy section includes a tempo command, and each tempo change thus affects only that section. When the next section starts, it follows the tempo command of it's own.
I've forgotten to try, if selecting all (ctrl+A) before doing the tempo change would help. Also, my intention has been to test if bouncing to clips would delete the unnecessary tempo commands.