A possible solution to the issue is implementing in Powershell an alternative resource (inside the PSDSCAgent module) - with a different name but same behavior - and have the process applying the configuration recognize old WaitForAny resources and call the internal one instead. This way the solution is self-contained.
In PsDesiredStateConfiguration v2.0 resource WaitForAny is no longer supported (see https://learn.microsoft.com/en-us/powershell/module/psdesiredstateconfiguration/invoke-dscresource?view=dsc-2.0#notes and https://learn.microsoft.com/en-us/powershell/dsc/overview?view=dsc-2.0) as it is a cross system resource. A workaround is needed to have full compatibility with mof configurations built with Windows Powershell.
A possible solution to the issue is implementing in Powershell an alternative resource (inside the PSDSCAgent module) - with a different name but same behavior - and have the process applying the configuration recognize old WaitForAny resources and call the internal one instead. This way the solution is self-contained.