Ein +#0 braucht man auf jeden Fall, da die Routine auch mit mehreren Dateinamen umgehen kann und das Ende an einem Leerstring erkennt (
SHFILEOPSTRUCT). Zwei +#0#0 sind ggf. für ältere Delphi-Versionen nötig.
Bei einem WideString ist #0 auch zwei Byte lang, so dass hier ebenfalls #0#0 reichen würde und du sie nicht verdoppeln musst.