Ma session_start() lo metti?

Poi e' inutile che vai a verificare se $DataI e' settato quando lo hai appena fatto e valorizzato.

Evidentemente se riprocessi la pagina $_POST e' vuoto e sovrascrive il $_SESSION di prima.

Hai qualcosa di procedurale errato. Il controllo se e' settato lo devi fare su $_POST. Poi non si capisce l'uso che fai di $_SESSION.