My 2 cents on this topic:
The biggest task to interface a PC running MAME with a cabinet is the horizontal output frequency that needs to be forced to 15KHz (sometimes 25KHz i.e. Atari System 2 hardware). There are essentially 2 ways to face the problem (or, at least, these are the ways i can confirm are working)
1) using some linux liveCD/DVD specifically developped for the task (i suggest AdvanceCD 2.6.2)
2) using soft 15KHz (combined with a couple of other little programs).
AdvanceCD is not only an emulator, but a complete OS. It allows "brutal" shut off, it could be set to auto-run a game on startup and the OS is 100% masked (you don't see any desktop or icons on startup). The bad is the impossibility to modify your options after burning the CD/DVD, cannot save your states (even if installed on a HDD). This OS runs AdvanceMAME 0.92 (IIRC)
Using Soft15KHz is the most common way to convert a cabinet to a MAMEcab. It's also the best choice if you wanna interface some wheel (expecially true for potentiometers) or spinner controlled cabinet: this sort of controls require some setting and trial and error to be set, then a more flexible windows OS is mandatory. This way also gives you much more freedom in the choice of the emulator you wanna run,
it's options and, in general, the flexibility is much higher.
Both ways can only be used with compatible Video cards and, sometines, even cards tested working could not work (there's some dependency on the processor handling... but take this as a dogma

).
From the hardware side, there are various PCB's dedicated to inputs and video interfacing, the most famous are JammASD and JPac. JammASD is preferable having an audio amplifier build in then do not need an audio hack for the sound to be reproduced. These hardware are only Jamma compatible so, if you want to interface your prejamma cabinet you will need some soldering work.
ArcadeVGA is a piece of hardware that can help forcing the horizontal feq. output to 15KHz, but it's expensive and not better than a more cheap video cards forced via soft15KHz or AdvanceCD, so it wouldnt be my choice (it's not).
For what concerns the emulator selection, MAME could be run smootly on older hardware using versions up to 0.106 (since 0.106u3 a heavy video renderer revolution was done). This is why i used this version for my port (RacerMAME)
