I agree, it doesn't sound like you are performing an asynchronous acquisition, but rather just grabbing the next available frame. I would make sure your camera is set up for asynchronous reset mode. If this is not set, the camera continuously acquires, and when the trigger is seen the next available frame is accepted by the frame-grabber. When it is set, as soon as the camera recieves the pulse it starts a new frame. Check your camera documentation on how to set up the camera in asynchronous reset mode, usually there are timing diagrams that can also be used to set up any delay needed between your flash and the acquisition.
Also, you probably want to be triggering the camera rather than the framegrabber itself.