Ну, ругань происходит, потому что если код работает с RunOn != Client, то это значит, что он может теоретически выполнятся на сервере, и пути будут уже не клиентские, а серверные. И файлы - серверные. А все, что касается сервера приложений, должно быть защищено - и это, думаю, разумно.
Соответственно, работать с файлами на сервере является Bad Practice.
По поводу же избежания - это сделать можно - если посмотрите класс WinAPIServer - увидите, что там нормально работает работа с файлами.
|