Per ogni file che crea il programma ci mette prima questo testo
codice:
......................QSystem.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a......System.Drawing.Bitmap.....Data.................'...
Mi stupirei del contrario! Questa roba è semplicemente l'intestazione delle tue bitmap serializzate...
Scusa, mi spieghi cosa dovrebbe fare esattamente questo codice?
codice:
    Dim fmt As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter 'Cosa c'entra la serializzazione?!
    Dim bmp As Bitmap 'e le bitmap?!!
    For Each item As String In ListBox1.Items
      bmp = CType(Bitmap.FromFile(item), Bitmap) Queste due righe poi non le capisco assolutamente...
      fmt.Serialize(sw, bmp)
    Next
    sw.Close()
E questo codice? È il delirio!
codice:
Private Sub btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click

If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim S() As String = OpenFileDialog1.FileNames 'un array che contiene i nomi dei file scelti 

Dim File As String

Dim sr As New IO.FileStream(OpenFileDialog1.FileName, IO.FileMode.Open) Perché apri adesso lo stream in lettura?

Dim fmt As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter E questo adesso cosa c'entra?

For Each File In S

ListBox1.Items.Add(File)

Next

sr.Close()

End If

End Sub
Ora non ho sottomano .NET (sono sulla mia macchina Linux), ma provo a buttarti giù del codice corretto:
codice:
'La sub btn_add_Click si salva quasi completamente
Private Sub btn_add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_add.Click
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim S() As String = OpenFileDialog1.FileNames 'un array che contiene i nomi dei file scelti 

Dim File As String

For Each File In S

ListBox1.Items.Add(File)

Next

End If

End Sub
codice:
'La sub btn_create_Click invece va riscritta quasi in blocco.
Private Sub btn_create_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_create.Click
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim sw As FileStream
Dim sr As FileStream
Dim buffer(32767) As Byte 'Dimensioni aumentabili o diminuibili a piacere
Dim bytecount As Integer
Try
    sw=New FileStream(SaveFileDialog1.FileName, FileMode.Create)
Catch ex As Exception
    MessageBox.Show("Impossibile creare il file di destinazione.")
    Exit Sub
End Try
    For Each item As String In ListBox1.Items
Try
       sr=new FileStream(item, IO.FileMode.Open)
Catch ex As Exception
    MessageBox.Show("Impossibile aprire il file sorgente.")
    Continue For 'Salta al file successivo
End Try
       Do
       sr.Read(buffer,0,buffer.Length)
       If bytecount = 0 Then Exit Do 'Lo so, è brutto.
       sr.Write(buffer,0,buffer.Length)
       Loop
       sr.Close()
    Next
    sw.Close()
End If
End Sub