Get-ChildItem Path $fdel.Name -Recurse | Remove-Item -Force did not hang, did not delete anything and displayed (I mean set Error[0]) PathTooLongException error.
However I'm not sure if it is the root problem that makes Remove-Item crash /hang or not because (at least I think so) other folders that are being deleted by the script may also contain long names, but nevertheless they are deleted successfully...
In any case it's rather strange to have problems with deleting files with long paths and do not have the same problems when copying that files to backup directory - theoreticaly the error should have arisen while copying first, not while deleting.