your source never call the driver init, thats the reason cause the game doesnt work, check this:
/* YEAR NAME PARENT BIOS MACHINE INPUT INIT MONITOR */
GAMEB( 2002, matrim, neogeo,neogeo, neogeo,neogeo, neogeo, ROT0, "Noise Factory / Playmore Corporation / Atlus Corporation", "Power Instinct Matrimelee (Decrypted)" )
GAMEB( 2002, matrimb, matrim, neogeo, neogeo,neogeo, neogeo, ROT0, "Noise Factory / Playmore Corporation / Atlus Corporation", "Power Instinct Matrimelee (Hero)" )
you have the same INIT for all your sets, always neogeo, try this:
/* YEAR NAME PARENT BIOS MACHINE INPUT INIT MONITOR */
GAMEB( 2002, matrim, neogeo,neogeo, neogeo,neogeo, matrim, ROT0, "Noise Factory / Playmore Corporation / Atlus Corporation", "Power Instinct Matrimelee (Decrypted)" )
GAMEB( 2002, matrimb, matrim, neogeo, neogeo,neogeo, matrimb, ROT0, "Noise Factory / Playmore Corporation / Atlus Corporation", "Power Instinct Matrimelee (Hero)" )
but dont forget to add the right matrimb driver init before.