transferring to different location
With the exception of application of AC21, both the cases you have mentioned many not be allowed. Your assumption that keep working for the same company but at different location is allowed is completely false. "Location of employment" is one of the biggest condition in labor certificate.
Transferring itself does not make any difference, because green card job is for future, on future date employee must be working at the place for which the labor was approved and must be getting no less salary than specified in the labor. Moreover the employee and employer must be willing to work (in good faith) together permanently.
Since, final AC21 regulations are not yet published, there are lot of gray areas... applying plain language of the statute, it is possible to be transferred to different location (or employer) but in similar profession, after filing I-485. But, in this case, prey that INS does not adjucate your I-485 within 180 days of filing.
Regardless of AC21, If INS figures out that employee\'s or employer\'s intent was not to work together permanently at the location specified in labor.... immediately before filing I-485, they will most likely deny I-485 (and theoretically can prosecute... for fraud too). The question is how will they know the intent ? internal memos, emails showing that the employer had already decided to transfer the employee before filing I-485....
(I am not an attorney, this is just my opinion on this matter in general)