Actually this is by design. If he has his I-140 approved, that means that the company has applied for his green card .
Now if the company gives him a promotion and that results in material change to his job duties, then the company has to restart his green card process .
Usually that implies trying to find an American for the job and convincing the government that they could not find a suitable candidate and they need to sponsor him at the newly promoted position.
Also that process for new Gc takes from 6-15 months and about 5-10K USD that no company wants to spend again for each promotion
Now if the company gives him a promotion and that results in material change to his job duties, then the company has to restart his green card process .
Usually that implies trying to find an American for the job and convincing the government that they could not find a suitable candidate and they need to sponsor him at the newly promoted position.
Also that process for new Gc takes from 6-15 months and about 5-10K USD that no company wants to spend again for each promotion