1) Make sure you're using CtmRecoil output, as genuine Recoil output will trigger during reload
P1_CtmRecoil=cmw 1 F0x%s%x1x dont give me any solenoid action while P1_GunRecoil=cmw 1 F0x%s%x1x does (with the extra reload snap)
Dont know what to do really, havent tried flycast yet. but damage dosent work on this game either so maybe something isnt right?
I have the latest DemulShooter_v10.9.1 
Here's the file I'm using to test recoil and solenoid with mine :
[General]
MameHookerStart=
MameHookerStop=
MameStart=cmo 4 baud=9600_parity=N_data=8_stop=1, cmw 4 S6M4.1R0.0.15R0.1.1
MameStop=Wat 200, cmw 4 E, cmc 4
StateChange=
OnPause=
OnRotate=
[KeyStates]
RefreshTime=33
[Output]
P1_CtmRecoil=cmw 4 F0.%S%.0
P1_Damaged=cmw 4 F1.%S%.255
Both dammage rumble and solenoid recoil worked with ninjasltu on Demul and Flycast
But most importantly, you can check with Mamehooker debug window that dammage and recoil are beeing activated (number changing between 0 and 1)
You can even try to put a "long" demulshooter "ON" output state to be sure that the display will be changed long enough to see it (without plugin the devices, to not damage circuits with too long pulses)
Demulshooter's work stops at that point (i.e : if you can see values changing in MameHooker debug window), the rest beeing more "hardware" related configuration
If you don't see some outputs moving in Mamehooker.....I don't know what else I can say...

(except be sure that the
-target option is corresponding to the demul rom name, as all different ninjaslt roms have their own specific memory location)