I've got further on this. If I physically remove the mouse the guns become gun 1 and gun2 - and reload works. So why when I add a mouse does it all stop working?
AS this is a Gun cab I'm just gonna remove the mouse period- problem resolved but I'm still curious
In previous version of MAME, Aaron added a 'filter' so if you are using a mouse (a relative pointer vs and absolute pointer -lightgun-), you cannot use offscreen_reload option even if is enabled, because you can't aiming off screen with a mouse. If you are using a mouse, you must aim to the borders of the screen.
By 'using a mouse' I mean any game button mapped to any mouse button. If you have mouse enabled, be sure that there is no one game button mapped to any mouse button. If you have something like "key A or Mouse 1 Button 2 or Gun B0", mame it doesn't reload. You must remap to something like this "key A or Gun B0", and mame it will reload shooting off screen.
Or you can use this config for those lightgun games: mouse 0, lightgun 1, reload_offscreen 1.
BTW, Lethal enforces 1 reloads OK.