И не я один с этим столкнулся - в интернете говорят, что заявленные методы обновления списка файлов не работают и ShellListView обновляется, только после ручного перехода в ShellTreeView.
В моих старых программах выполненных на Delphi - FileListBox1.Update; прекрасно работал, а в Lazarus ShellListView1.Update; не работает.
Однако я нашел в интернете решение проблемы обновления файлов в ShellListView - хоть и через заднее крыльцо:
var strroot:string;
...
strroot:=ShellListView1.Root;
ShellListView1.Root:='';
ShellListView1.Root:=strroot;