Hey thanks for all your help but I found a solution to this that better suits the way the page is coded. It would have been a pretty big change to the structure if I went with the suggestions above.
So in the Page_Load I added this piece of code...
So im just checking if the close button caused the postback, if so I redirect to a different page thus preventing the other events from firing, not the cleanest of code but as I say it solves this paticular problem.
If Page.IsPostback Then
Dim control As Control = Nothing
Dim sControlName = Page.Request.Params.Get("__EVENTTARGET")
If (Not IsNothing(sControlName) And sControlName <> String.Empty) Then
control = Page.FindControl(sControlName)
Else
For Each ctrl As String In Page.Request.Form
Dim myControl As Control = Page.FindControl(ctrl)
If (TypeOf myControl Is System.Web.UI.WebControls.Button) Then
If (myControl.ID = "cmdClose") Then
Response.Redirect("~\Welcome.aspx")
End If
control = myControl
Exit For
End If
Next
End If
End If
Thanks Again