Così non si può dire con certezza ma penso che il problema sia in
dts.Tables("Righe_estratte").Rows(0).Item("RGSt_pre s")
e che qualche parte di quell'oggetto non esista (un Item con quel nome o addirittura la riga numero 0).
Puoi usare questa linea
e.Graphics.DrawString(Format(1234,"#,##0.00"),Font_riga,Brushes.Black,RectangleF.op_Implicit(displayRectangle), format2)
per controllare se è proprio così. Se funziona è proprio la parte della dts (di cui non sappiamo nulla) che crea il problema.
Non credo tu possa usare un "vecchio" BASIC per ottenere questo tipo di prestazioni. Avresti enormi difficoltà con i DB, la grafica e tutto il resto. L'alternativa è studiare tanto, come tutti quelli che si occupano di queste cose.