I put this example together then re-read your question, so you actually might not need it to solve your problem. It contains 2 methods of how to limit the enemy max speed - one that uses a global variable and one that doesn't (there are probably others, like object variables, but the forum has plenty of other chat about this sort of thing):
capx
If you set enemy max speed to "Enemy.Platform.MaxSpeed - 50" then the platform max speed will reduce by 50 every tick. I think this is what caused your problem.