I'm very suspect that the original game flashing in mame will not be enough. In the original hardware, the game flashed when the trigger was pulled, and then the mainboard (or I/O board) timed the gun sensor and calculated the screen location. However in mame, the game flashes when mame tells the game the trigger was pulled, and mame does not emulate the gun sensor timing part, but instead relies on the OS to give a mouse location.
Let's assume the original game sends the flash at the start of the next frame, and expects the location to be calculated within three frames (~3/60 sec, or ~1/20 of a sec) of the trigger pull. This is conservative, as I'd think most expect it during that flashed screen, or at average of 1.5 frames, or max of 2 frames (finish of current frame + flashed frame). The time to finish the current frame and the time for drawing the flash screen is there no matter what, which leaves 1 frame for the firmware (or driver or software) to calculate the location, send to mame, and mame to send to the game. And mame polls inputs only once per frame; if mame polls too early, no luck. And that's assuming mame's -dual_light hack isn't enabled, as this requires the location to be sent at the same time as the trigger pull. Add if the game expects it within 2 frames, there is no way it can be done (err, without emulating the original location calculating hardware AND adding a new raw sensor input type AND writing a driver that lets apps see the raw sensor data signal

).
So the interface:
* Needs to be able to flash the screen itself, so the interface can send the location with the trigger pull. It might be left an option for games already bright enough, and/or be able to adjust the brightness, so tinted glass will be bright enough, but untinted won't be blinding bright.
* It would be best for mame if the interface would send a location of (0,MAX_Y) or (MAX_X,MAX_Y) for offscreen shots. OTOH, other games want mouse button 2 with last shot location, and mame has hacks to translate that to IIRC (0,MAX_Y), so it's not a needed feature.
* For mame, the interface can send real screen location (example: a 1280x1024 screen, 1-1280 and 1-1024), or fixed (example: 0-64000 for both X & Y, no matter what res it's running at). OTOH, other apps probably want the real screen location.
* For mame, the interface needs to be either a RawInput able mouse (not a problem for drivers, AFAIK), or an analog joystick. OTOH, IDNK of any other app that uses RawInput, and all lightguns that works in mame act like a mouse. (Others will say it won't work if a joystick, based on the one lightgun that was a joystick at didn't work in mame, but it wasn't because it was a joystick.)
* The firmware or driver or software needs to calculate the location, as mame doesn't. One note about software, it's a lot harder for them to be RawInput able. (The other option of sending the sensor signal to mame will need some big changes to mame, mentioned earlier.)
Also, are you asking someone to supply a happs gun to Hagstrom? I might have one to loan.
the r0r3 youcan get that but the everyone that has emailed him says that the guys says that it is not compatable with mame out of the box
This is more info on that than I've heard of before. Any more details?
... maybe i should bring that up that some of the games flash in the software
Won't help as mentioned above. And sounds like he is aware of it already.
also what the tech said to me i n the last email is that most of the arcade light gun games when the flash they only light up certain sections of the screen not like the old duck hunt where they light the targets.
Err, usually arcade games flash the whole screen, or only the dark parts. But yes, the old duck hunt only lit the targets.
he also said the way the arcade guns work also it flashes then the game finds out were the gun was pointed on the screen not what it was pointed at if that makes sense.
Yup. If you aren't clear on what happens, try
wiki and
howstuffworks. Or maybe I can explain it different way if you need. (If you understand already, great.

I wasn't sure from what you wrote.)
maybe it would be as simple(although probably not) just to have a setting in the software to turn the flash the software would normally produce off.
Impossible without hacking the ROMs (if that's what you're taling about).