If I implement a 1 ms software delay in one version of keil, does it change in another version? Is there any chance of change? Or can I use same delay function?
That depends on how you implement it!
If your delay relies solely on features of your hardware platform (eg, a hardware timer or specifically-coded assembler) then it won't.
But if you rely on HLL features, then you have to assume that it will.
www.8052mcu.com/.../162556
www.8052mcu.com/.../149030
www.8052mcu.com/.../163925