Votato Ed Altofer. (Ha risposto per primo, quindi se ti piace la mia risposta vota anche la sua).
OleDb è il tuo problema. È una connessione al database generica che deve comunicare con qualcosa di più di un semplice SQL Server e, di conseguenza, si ha una situazione di minimo comune denominatore in cui solo il set di funzionalità composite più debole può essere completamente supportato. Una delle funzionalità perse è il supporto varchar(max).
Stai utilizzando SQL Server 2005 e VB.Net. Cosa ti impedisce di utilizzare System.Data.SqlClient anziché System.Data.OleDb?
Modifica
Ho trovato la documentazione sul problema. Vedi qui:
http://msdn.microsoft.com/ it-us/library/ms131035.aspx
La parte rilevante: