@ADenton - I think your first step before working out any event logic should be to clearly define states & behaviours for your guard, & think through every possibile situation for him.
I would have the states (stored in the guard as a combination of bools or a single text variable) for a guard in a shooter game something like this:
Patrol - walks between waypoints, relaxed posture; initial behaviour
Patrol alert - walks between waypoints, combat pose; this behaviour triggered after being previously alerted, & could return to the initial patrol after a time.
Suspicious - hears noise & stops patrolling; walks towards point of last noise; waits there for several seconds; if nothing found, walks to closest waypoint & state changes to 'patrol alert'
Attack - has player line-of-sight, or saw player within eg. the last 10secs; runs at player & shoots; if player shoots back then run to nearest cover
@Alisa - yes I'm using MoveTo at the moment for some elevators, very handy behaviour