Tu vai a "puntare" alle colonne risultanti dalla query usando il loro nome originario, ma che viene perso nelle operazioni di max()

Devi usare degli alias e poi nel tuo codice puntare a quelli

select max(TipDoc) as ATipDoc, max(NDoc) as ANDoc, max(Reg) as AReg from tabella group by TipDoc, NDoc, Reg


e poi nel tuo codice (la parte sotto) userai ".. row["ATipDoc"]..." e così via per gli altri due