Here's some code that takes advantage of the timer...

code:
; popup.kix

Break On

$Form = CreateObject("Kixtart.Form")

$Form.BackColor = &00D0FFFF
$Form.BorderStyle = 0 ; None
$Form.ClientHeight = 1665/15 ; pixels = twips / 15
$Form.ClientLeft = 8580/15
$Form.ClientTop = 11745/15
$Form.ClientWidth = 2775/15
$Form.ScaleHeight = 1665/15
$Form.ScaleWidth = 2775/15
$Form.ShowInTaskbar = False ; Not ready yet !

$Label = $Form.Label
$Label.Alignment = 2 ; Center
$Label.Appearance = 0 ; Flat
$Label.Caption = "Wasabi?"
$Label.ForeColor = &80000008
$Label.Height = 195/15
$Label.Left = 480/15
$Label.Top = 660/15
$Label.Width = 1695/15

$Timer = $Form.Timer(500) ; 500 msecs
$Timer.OnTimer = "Timer_Timer()"
;$Timer.Show

$Form.ForeColor = &00C00000
$Form.Line(2760/15,0,2760/15,1680/15)
$Form.Line(0,0,0,1680/15)
$Form.Line(0,0,2760/15,0)

; Move it below the visible screen (and a little just in case)

$Form.Top = $Form.Screen.Height + 10

; Move it to the far right of the visible screen (minus a little, just for esthetics)

$Form.Top = $Form.Screen.Width - ($Form.Width + 10)

; We're gonna move it up

$DirectionIsUp = 1

$Form.Show
While $Form.Visible
$=Execute($Form.DoEvents)
Loop

Exit 1

Function Timer_Timer()

; Move at 10 millisecond intervals (100 times a second, 3 times what the eye can see)

$Timer.Interval = 10

; If it's moving up

If $DirectionIsUp

; Move it up 3 pixels every 10 milliseconds

$Form.Top = $Form.Top - 3

; Move until the whole form is shown

If ($Form.Bottom < $Form.Screen.Height)

; This specifies how long it will stay shown (Unmoving)

$Timer.Interval = 3000

; We're gonna move it down next...

$DirectionIsUp = 0

EndIf

Else

; Move it down 3 pixels every 10 milliseconds

$Form.Top = $Form.Top + 3

; Move until the whole form is shown (plus 10 twips to make sure it's hidden)

If $Form.Top >= $Form.Screen.Height

$Timer.Enabled = 0

$Form.Hide

EndIf

EndIf

EndFunction