It's much better to use the Win32 control messages for this, as if you make a mistake in your while-loop, you'll end up in an endless loop of doom and thus crashing your Messenger.
For list boxes:
code:
PlusWnd.SendControlMessage("ListBox", /* LB_RESETCONTENT */ 0x184, 0, 0);
For list views:
code:
PlusWnd.SendControlMessage("ListView", /* LVM_DELETEALLITEMS */ 0x1009, 0, 0);
The worst thing you can get then is a "bad calling convention" or something in your Interop.GetLastError().
Blah, you already solved it yourself. Anyway, this post is for future generations.