I agree, and I disagree.
I agree that the person can take unpaid vacation for a legitimate reason and for virtually any period as a matter of law. As a practical matter, I believe that INS almost automatically believes that "unpaid vacation" means that the employee has either been illegal benched without pay bu the employer or that the employer terminated the employee and just did not notify INS. BCIS seems to belive almost automatically that no paystubs=out of status.
If the person is in the US the person MUST maintain their legal status or AOS may not be possible. If you are here on an employment based visa, you must be employed.