Es kann sein, dass du die Byte-Werte kompletto schreiben musst - also nicht "Data &B100" sondern "Data &B00000100" - ansonsten setzt er vielleicht die Bits auf der falschen Seite des Ports um.

Und schmeiß das 1000 am Ende der Datalines raus, das kannst du einfacher in ner Konstante speichern.
Und WENN du es in Data speichern willst, dann MUSST du ein "%" dahinter setzen!

Aus der Bascom-Hilfe (Seite 409):
Dta2:
Data 1000% , -1%
'Note that integer values (>255 or <0) must end with the %-sign
'also note that the data type must match the variable type that is
'used for the READ statement
Und daher KANN das so erstmal nicht klappen, denn:
A - ist dein Port in den du ausgibst nur 8 Bit breit und
B - Die "1000" in Data nicht richtig gekennzeichnet

Und lad mal ein Bild des Würfels hoch, würde mich mal interessieren!