Solved (I think...)
The fix I found was the following:
Sub Camera1_PictureTaken (Data() As Byte)
Panel1.Enabled = False
camera1.StartPreview
'
' create 00001..00009, 000010, then pull off the last four digits for 0001..0009, 0010..9999
'
PicNumber = PicNumber + 1
FileName = "0000" & PicNumber
FileName = FileName.SubString2(FileName.Length-4, FileName.Length) & ".png"
'
' have to use writetostream to force PNG
' Panel wants to writebytes, will not writetostream
' have to define a bitmap and load the camera data to that first.
' so, define an input stream and load that with the camera data...
'
Dim inp As InputStream
inp.InitializeFromBytesArray(Data,0,Data.Length)
'
' define a bitmap and load that from the input stream...
'
Dim bd As Bitmap
bd.Initialize2(inp)
'
' define the output stream and use the writetostream of the bitmap...
Dim out As OutputStream
out = File.OpenOutput(File.DirRootExternal, FileName, False)
bd.WriteToStream(out, 100, "PNG")
'
' close the outputstream
'
out.Close
... and that seems to work. Interesting to note that the original JPG file output was 1.8MB while the PNG output is 4.46MB - another issue entirely.
Thanks!