Problema con un programma VB.NET

#1
Salve! Sto creando un programma in VB.NET (linguaggio che ho incominciato a studiare da poco, prima solo VB6) che modifica l'header di una rom NDS. Il programma legge gli header perfettamente, il problema sorge quando devo scrivere gli header nella ROM. Una volta modificati gli header il programma li scrive, ma quando apro la ROM col no$gba mi da errore e crasha. La cosa più strana che non mi torna è che se apro la ROM con qualunque hex editor l'header in effetti è cambiato, poi io per esempio riscrivo nell'hex editor l'header personalizzato e la ROM funziona. Suppongo quindi che l'inghippo sia nel programma. Il problema è che non riesco a venirne fuori! Se c'è qualche programmatore che ha tempo e voglia avrei bisogno di aiuto.

Qui ci sono i sorgenti.