Jim,

Just ran across this in the WMI materials. Here is an example. Shawn has a mini reader that read the output just fine. Not solid code, but example works.

 
SWbemObjectEx.GetText_
The GetText_ method of the SWbemObjectEx object returns an XML representation of an object or instance. The text file is formatted in the XML format specified as shown in WbemObjectTextFormatEnum.

WbemObjectTextFormatEnum

Code:
Break On
Dim $SO,$Pause
$SO=SetOption('Explicit','On')
$SO=SetOption('NoVarsInStrings','On')
$SO=SetOption('WrapAtEOL','Off')
 
Dim $MyBIOSInfo,$W
$MyBIOSInfo = GetBIOSInfo()
If Exist('C:\TEMP\TEST.XML') DEL 'C:\TEMP\TEST.XML' EndIf
$W = Open(1, 'C:\TEMP\TEST.XML',5)
$W = WriteLine(1,$MyBIOSInfo[0]+@CRLF)
$W = Close(1)
 
Function GetBIOSInfo()
Dim $Computer, $WMIService, $BIOSItems
Dim $Item, $SerialNumber, $Manufacturer, $BIOSArray[1]
Dim $XMLDtd
$XMLDtd = 2
$Computer = "."
$WMIService = GetObject("winmgmts:\\" + $Computer + "\root\cimv2")
$BIOSItems = $WMIService.ExecQuery("Select * from Win32_BIOS",,48)
For Each $Item in $BIOSItems
$SerialNumber = $Item.GetText_($XMLDtd)
Next
$BIOSArray[0]=$SerialNumber
$GetBIOSInfo=$BIOSArray
EndFunction