This worked on NT. The OLEPutProperty documentation doesn't include the "Typelist", but it supports it correctly(see OLECallProc documentation). Also, the documentation for typelist never includes "s" for string.
-----------
$cd = OleCreateObject("MSComDlg.CommonDialog")
$nul = OLEPutProperty($cd,"Filter","s","All Files (*.*)|*.*")
$nul = OLEPutProperty($cd,"FilterIndex","I","3")
$nul = OLEPutProperty($cd,"MaxFileSize","I","128")
$nul = OLECallProc($cd,"ShowOpen")
-----------
hope this helps,
SRHarmon