The list is an MDX header based listview. It takes anywhere from 10-15 seconds to load.

I think that is likely to be your lag problem.

I use:
if ($devent == init) {
  var %sdik $findfile(%ws.sounds,*.*,0,did -a sp 2 $1-)

... and %ws.sounds = D:\Music\

It loads about 370 files in about a 10th of a second.

I use a 1300MHz AMD Thunderbird with 512MB Ram and XP Home/2000 Pro on my two desktops and the laptop is an 1800MHz AMD Athlon Mobile with 256MB Ramand XP Home. All machines produce the same performance loading the files.