Il codice che hai scritto è sbagliato tanto che non di può compilare (option Strict=on, come deve essere)
Prima di tutto bisogna fare:
codice:
Do While (sr.Read() <> -1)
	fileText &= sr.ReadLine & ControlChars.CrLf
Loop
in questo modo, sr.Read() legge un carattere e sposta il puntatore del file al carattere successivo: ecco perchè readLine perde il primo carattere.
Per ovviare bisogna evidentemente correggere:
codice:
        'legge un file di testo una riga per volta (stream)

        'apro il file per lettura
        Dim sr As New StreamReader(Server.MapPath("files.aspx.vb"))

		'leggo l'intero file una riga per volta
        Dim fileText$ = ""
        Do While Not sr.Peek = -1
            fileText &= sr.ReadLine & ControlChars.CrLf
        Loop

        'chiudo il file
        sr.Close()

        'visualizzo il file
        Me.Label1.Text = "<pre>" & Server.HtmlEncode(fileText) & "</pre>"