If I understand correctly, you want two realtime displays. One is immediate, and one has a 5 second delay.
I have done something similar using LabVIEW. What I would do for this is set up a six second continuous loop of buffers. You can configure IMAQ to continuously acquire into these buffers. For display, there is a function that returns the most recently acquired buffer, which gives you your immediate realtime display. For the five second delay, figure out what the index of the image that was taken 5 seconds ago was, relative to the current image.
The only problem with this is needing six seconds worth of images in memory at all times. This requires a significant portion of memory. You also have to reconfigure the max number of images in MAX - it defaults to fifty.