Creating zones in Drawing sheet and highligting

Hi, I am beginner to NX journalling, but i want to create a too which can highlight specific zone in the drawing sheet for eg. zone A1 in the drawing sheet of A0 is extreme bottom left corner.
so I have already created a tool which will create the box in the zone A1 and change its colour and then get deleted. but..
this execution is done so fast that i cannot see the block(rectangle made with sketch entities).
is their any way to delay the execution of command by certain time.

Here is the code which i have created.

' NX 9.0.3.4
' Journal created by ravneet.bhengura on Tue July 14 11:05:28 2015 India Standard Time
'
Option Strict Off
Imports System
Imports NXOpen

Module NXJournal
Sub Main (ByVal args() As String)

Dim theSession As Session = Session.GetSession()
Dim workPart As Part = theSession.Parts.Work

Dim displayPart As Part = theSession.Parts.Display

Dim x1 As Point3d = New Point3d(20.0, 10.0, 0.0)
Dim x2 As Point3d = New Point3d(68.291, 10.0, 0.0)
Dim x3 As Point3d = New Point3d(68.291, 61.31, 0.0)
Dim x4 As Point3d = New Point3d(20.0, 61.31, 0.0)

' ----------------------------------------------
' Menu: Fit
' ----------------------------------------------
workPart.Views.WorkView.Fit()

' ----------------------------------------------
' Menu: Insert->Sketch Curve->Rectangle...
' ----------------------------------------------
' ----------------------------------------------
' Menu: Tools->Constraints->Continuous Auto Dimensioning
' ----------------------------------------------

Dim markId5 As Session.UndoMarkId
markId5 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Profile short list")

Dim markId6 As Session.UndoMarkId
markId6 = theSession.SetUndoMark(Session.MarkVisibility.Invisible, "Create Rectangle")

Dim expression4 As Expression
expression4 = workPart.Expressions.CreateSystemExpression("48.291")

Dim expression5 As Expression
expression5 = workPart.Expressions.CreateSystemExpression("51.31")

theSession.SetUndoMarkVisibility(markId6, "Create Rectangle", Session.MarkVisibility.Visible)

' ----------------------------------------------
' Creating rectangle using By 2 Points method
' ----------------------------------------------

Dim line1 As Line
line1 = workPart.Curves.CreateLine(x1, x2)

Dim line2 As Line
line2 = workPart.Curves.CreateLine(x2, x3)

Dim line3 As Line
line3 = workPart.Curves.CreateLine(x3, x4)

Dim line4 As Line
line4 = workPart.Curves.CreateLine(x4, x1)

'theSession.ActiveSketch.AddGeometry(line1, Sketch.InferConstraintsOption.InferNoConstraints)

'theSession.ActiveSketch.AddGeometry(line2, Sketch.InferConstraintsOption.InferNoConstraints)

'theSession.ActiveSketch.AddGeometry(line3, Sketch.InferConstraintsOption.InferNoConstraints)

'theSession.ActiveSketch.AddGeometry(line4, Sketch.InferConstraintsOption.InferNoConstraints)

' ----------------------------------------------
' Dialog Begin Color
' ----------------------------------------------
Dim markId4 As Session.UndoMarkId
markId4 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Edit Object Display")

Dim displayModification1 As DisplayModification
displayModification1 = theSession.DisplayManager.NewDisplayModification()

displayModification1.ApplyToAllFaces = False

displayModification1.ApplyToOwningParts = False

displayModification1.NewColor = 186

Dim objects1(3) As DisplayableObject
Dim line5 As Line = CType(workPart.Lines.FindObject("ENTITY 3 2 1"), Line)

objects1(0) = line1
Dim line6 As Line = CType(workPart.Lines.FindObject("ENTITY 3 3 1"), Line)

objects1(1) = line2
Dim line7 As Line = CType(workPart.Lines.FindObject("ENTITY 3 4 1"), Line)

objects1(2) = line3
Dim line8 As Line = CType(workPart.Lines.FindObject("ENTITY 3 1 1"), Line)

objects1(3) = line4
displayModification1.Apply(objects1)

displayModification1.Dispose()

'----------------------------------------------------------
' Delete
'----------------------------------------------------------

Dim markId9 As Session.UndoMarkId
markId9 = theSession.SetUndoMark(Session.MarkVisibility.Visible, "Delete")

Dim objects2(3) As NXObject
Dim line9 As Line = CType(workPart.Lines.FindObject("ENTITY 3 3 1"), Line)

objects2(0) = line1
Dim line10 As Line = CType(workPart.Lines.FindObject("ENTITY 3 1 1"), Line)

objects2(1) = line2
Dim line11 As Line = CType(workPart.Lines.FindObject("ENTITY 3 4 1"), Line)

objects2(2) = line3
Dim line12 As Line = CType(workPart.Lines.FindObject("ENTITY 3 2 1"), Line)

objects2(3) = line4
Dim nErrs1 As Integer
nErrs1 = theSession.UpdateManager.AddToDeleteList(objects2)

Dim notifyOnDelete2 As Boolean
notifyOnDelete2 = theSession.Preferences.Modeling.NotifyOnDelete

Dim nErrs2 As Integer
nErrs2 = theSession.UpdateManager.DoUpdate(markId9)

theSession.DeleteUndoMark(markId9, Nothing)

' ----------------------------------------------
' Menu: Tools->Journal->Stop Recording
' ----------------------------------------------

End Sub
End Module

You can pause the execution of a journal by using the .Sleep method on the current thread. You can read more about the .Sleep method here:
http://www.dotnetperls.com/sleep-vbnet
The first 2 posts in the following thread show how to use it in a journal:
http://nxjournaling.com/content/clear-listing-window

Showing the user a message box will also effectively pause the journal code until the user dismisses the message box. This article explains how to use the NX and the windows message boxes:
http://nxjournaling.com/content/using-message-boxes

Alternately, you might consider creating "temporary lines" for the box. These lines will stay in the graphics area until the display is refreshed. Look up "DisplayTemporaryLine" in the NXOpen API reference.