First thing I spotted is that you are changing PosX twice in the loop.
Are you trying to get the shapes to move differently from the text? If so you will need another variable, perhaps something like PosX2
One other tip, its great you are commenting your code, to further help out you can press Tab to format parts of the program better.
; First Attempt
; By Lilw4t3rdr0p
;
; Open Screen:- Screen Width, Screen Height, Colour Bit depth, mode.
;
Graphics 640,480,32,2
SetBuffer BackBuffer()
;
; Load fonts ("font", size, bold, italics, underline)
;
LF1 = LoadFont ("Batang", 20, True, False, False)
LF2 = LoadFont ("Chaucer", 24, False, False, True)
LF3 = LoadFont ("Cotillion", 22, True, False, True)
;
; Setup variables.
;
XPOS = 0
Speed = 3; Load Speed
; Wait for Keypress
While Not KeyDown(1)
SetFont LF1 ; Set to use LF1 font
Color 222, 0, 0 ; Set color
Text XPOS, 242, "I love You!" ; Print x,y,text
;
; Increment speed.
;
XPOS=XPOS+SPEED
;
; Check Direction.
;
If XPOS> 640 Then SPEED = -2
If XPOS< 0 Then SPEED = 2
SetFont LF2 ; Set font
Color 0, 200, 15 ; Set color
Text 64, 194, "You Make My Dreams Come True." ; Print Text
SetFont LF3 ; Set font
Color 75, 75, 230 ; Set color
Text 262, 282, "Thank You!" ; Print Text
Color 178, 178, 10 ; Set color
Text Rnd (180), 100, "DBF/GVY!"
Color 178, 178, 10 ; Set color
Text Rnd (460), 362, "WHOO!" ; Print Text at Random X Position.
Color 200, 200, 200 ; Set color
Rect Rnd (95), 42, 20, 20 ; Command (shape) (movement)
Color 225, 25, 255 ; Set color
Oval Rnd (237), 420, 20, 20 ; Command (shape) (movement)
Color 215, 50, 50 ; Set color
Oval Rnd (95), 42, 20, 20 ; Command (shape) (movement)
Color 25, 255, 255 ; Set color
Rect Rnd (237), 420, 20, 20 ; Command (shape) (movement)
;If XPOS> 640 Then SPEED = -2
;'If XPOS< 0 Then SPEED = 2
Flip
VWait
Cls
Wend