Hello Daniel,
Thank you for the offer of a test and a sample.
I tested your scenario. And it ran correctly on the Windows Server 2003 R2 testing machine.
However, the problem reappeared only by changing "Execution Options" of custom action into "Deferred with no impersonation" from "Deferred ...