are you also waiting to check for the GUMP window size and type?
most of use a sub something like this
;-------------------------------------------------------------------------------
; %1 = GumpSize
; %2 = Gumpname
; #TRUE gump occured before timeout
sub GumpWait1
  namespace push
  namespace local GW
  wait 10
  set !timedelay #SCNT
  while #SCNT <= !timedelay + 7
  {
    if #CONTSIZE = %1 || #CONTNAME = %2
    {
      namespace pop
      return #TRUE
    }
  }
  namespace pop
return #FALSE