Io devo dire che faccio un po' di fatica a comprendere il ruolo delle tabelle, più che altro perché Table1 è un nome poco significativo.

Una domanda: hai provato a eseguire il primo codice che hai postato facendo il debug passo per passo e andando a vedere il valore delle variabili?

Secondo me, è l'unico modo per poter capire qual è lo stato dell'applicazione in quel momento e capire da dove proviene il valore errato.