The docs are confusing on this point; they say [snip]
(quote from docs/ctrlr.txt file)
All of the options that can be specified on the command-line or in the
main mame.ini file can be specified in the controller-specific ini files,
though because of when these files are parsed, the specified options may
have no effect. The only two general options guaranteed to be supported
are mouse and joystick. Note that command-line specification of these
options takes precedence. Since most front-ends, including MAME32,
specify these options through the command-line, the mouse and/or joystick
options specified in the .ini files will be ignored.
Thanks for reminding me, I forgot about this part. Note it does say the options may have no effect. I never had any success using any ini/ini type options in the ctrlr/ini files (tested a few versions back, though), so I forgot about this paragraph.
Just tested now, and the mouse and joystick options ("mouse 1", "joystick 0") work inside ctrlr/ini files, but the lightgun option does not have an effect. Not too surprised that the lightgun option doesn't work, because there is a pretty major difference in mame startup between having lightgun enabled and disabled, while very little difference with joystick or mouse enabled or disabled. I guess mame is reading the ctrlr files after it sets up the inputs.

Chris, you probably already did this, but for others thinking about it...
to use the lightgun_ini, trackball_ini, ect, ctrlr/ini files, you need to add to default.ini file lines such as:
lightgun_ini "lightgun"
trackball_ini "trackball"
where the quoted word is the filename without the .ini ending. But as said in last paragraph, only options I found to work in ctrlr/ini files are the mouse and joystick ones.