Invoke-PowerShell should support CLR2 with PowerShell 3
In PowerShell v3, powershell.exe supports a "-version" argument.
Running "powershell.exe -version 2.0" will start PowerShell under CLR 2.
However, due to CLR2 and CLR4 having in different GACs, PowerShell 3 running under CLR2 which actually load the PowerShell v2 language assemblies and modules.
So, while requesting CLR2 under PSv3 may warrant a warning that some v3 language features and cmdlets won't be available, it should not throw an error preventing use of CLR2 as this is occasionally required to interact with third-party CLR2 components.