Tem certeza de que o código comprime os arquivos em um formato zip válido? Não parece que faça algo útil para mim. (edição: Ah, é? Legal!)
De qualquer forma, para responder à sua pergunta, o Out-Null não faz nada porque é Out-Null ... e o Wait-Process não faz nada porque você não está executando um processo.
O que você quer é o Jobs da Powershell.
Start-Job
Wait-Job
edit 2: Além disso, parece que você está usando o Powershell v3!
[Reflection.Assembly]::LoadWithPartialName( "System.IO.Compression.FileSystem" )
$src_folder = "D:\stuff"
$destfile = "D:\stuff.zip"
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
$includebasedir = $false
[System.IO.Compression.ZipFile]::CreateFromDirectory($src_folder,$destfile,$compressionLevel, $includebasedir )
Coloque um foreach em torno da última linha lá, conforme apropriado, para compactar cada um dos seus arquivos, ou o que você quiser, então envolva a coisa toda como entrada para um Start-Job.