proprio per lo shock del tamponamento chiedevo, mica mettevo in dubbio la tua capacita' di coder
spara pure, la mia autostima oggi è più in picchiata dei bitcoin

linkbutton senza definizione del navigateurl, non button (peraltro dovrebbe essere la stessa cosa): nel click genero il file e poi lo passo alla funzione ridirigi(nomefile)

La funzione è più o meno la tua, a parte che io ho un percorso handmade
codice:
Protected Sub ridirigi(ByVal nomefile As String)
        Response.Expires = -1
        Dim filepath As String = HttpRuntime.AppDomainAppPath & "Uploads\Temp\" & nomefile

        Dim file As FileInfo = New FileInfo(filepath)
        If file.Exists Then
            Response.Clear()
            Response.AddHeader("Content-Disposition", "attachment; filename=""" & file.Name & """")
            Response.AddHeader("Content-Length", file.Length.ToString())
            Response.ContentType = "application/octet-stream"

            Response.TransmitFile(filepath)
            Response.End()
        Else
            Response.Write("Impossibile scaricare il file.")
        End If
    End Sub