Wie PicNick schon sagte: Lass all die AT &H.. Zusätze weg.
Absolut unsinnig und unnötig. also so:

Dim Zeiger As Byte
Dim Flag As Byte
Dim Adresse As Eram Byte
Dim Hot As Eram Byte 'Scharfschalt-Status im eeProm
Dim Adresse_temp As Byte
Dim Tempword As Word
Dim Tempbyte As Byte
Dim Tempbyte2 As Byte
Dim Init As Byte

Zeiger = 1
Adresse_temp = Adresse

Einzige Ausnahme und genau das hast du es nicht:

Dim Adresse As Eram Byte at &H01
Dim Hot As Eram Byte at &H02

Damit lässt du die Position 0 im EEPROM frei, die beim Resetten überschrieben werden kann.

Lass auch das $PROG am Anfang weg. Damit schreibst du die Fuse bits immer wieder neu.

Gruß

Rolf