Problems
Ah here we go, everything that went wrong with the build!
Construction / Woodworking
Remember the old rule, "measure once cut twice" (not like me: "measure never, cut, then cut a new board because this one is now too short")
If you don't have a table saw, build a sawboard ( http://forum.arcadecontrols.com/index.php?topic=43568.0 ) - you're kidding yourself if you think you can cut straight lines by hand. I know, I tried.
I took the feet off Kyle's plans, thinking I'd never use them. Well actually they are super handy - for one thing, I lowered the control box so now I smack my knees into the machine every time I sit down (feet would've raised it). The other benefit of feet is that you can independently adjust them to level the machine. It's not a problem in a carpeted area, but it is on the concrete floor of my garage.
Instead of the piano-hinged side-and-top combo, I went with my own design: screw the top into the cabinet, hang the back off with some cheap-o hinges. This is a very stupid idea because it is super hard to do anything productive through such a small opening. Worse is that the cramped working area means your risk of accidental CRT shock goes way way up.
I also didn't put hinges on the control panels. God help me if (when) I need to re-do the control panel, because there is absolutely no way to get them back off short of unscrewing and likely sawing parts off.
It really pays to make your cabinet as accessible as possible: add doors, hinges, latches, keyboard drawers, etc. Even if there is nothing to fix you may find yourself wanting to "enhance" later with lights or better speakers or computer upgrades. A sealed-box design makes that extremely difficult.
Hardware
The keyboard hack actually worked out pretty OK for my needs, and it does still have use in very limited design. But I saw the weaknesses immediately when I dropped a hammer on it - my only recourse, if it couldn't be fixed, would be a complete and total re-wiring of both control panels. I was lucky.
Speaking of buttons: don't cheap out on controls. This is your interface to the machine, it's gotta be right. I bought a set of buttons off eBay at $7.50 for 10 thinking "what a deal", but they are way cheap and just do not feel right (flat surface, cheap plastic). As a minimum get some Happ concave microswitchers for buttons. And joysticks - my Happ Competitions feel extra-super-floaty which is highly distracting. I didn't think I'd notice the compromises... but I did. It's 100% certain you will too. (See above for why I can't fix this either)
Whatever the weird plastic crap is that I used for 'overlays' sucks real bad. Actually it was the base of a wooden pallet used by the local hardware store that they were throwing away. Get some plexiglass and get some art. Arcade cabinets are defined by their gaudiness and eye-catching factor, so bring some of that home with nice artwork. If you want to save money, do it yourself and look for deals or tricks on printing.
DO NOT GO WITH A TV UNLESS YOU CAN DO BETTER THAN COMPOSITE (RCA / YELLOW) CONNECTOR. I wanted my 19" TV because it was big, for a vertical cocktail. But the best connection I could make was composite, because both TV and GFX card didn't support any better. "How bad could it look," I thought. The answer is "really bad". Colors crawl and distort, all lines are blurry, small text is totally unreadable. If you have to do any work in DOS then you practically need an external PC monitor to be able to see what is going on. S-Video is a minimum, and if your TV is bigger than about 25", you require HDMI or Component cables.
People kick around all the time about the quality difference between TV / PC Monitor / Arcade Monitor. But unless your TV has decent hookups, it is not even worth comparing to the rest.
Software
DOS worked out OK for me, but then I'm a computer guy and know my way around it from back in the day. Never go DOS at more than 1ghz PC, there are significant hardware acceleration features which are available only in Windows (or Linux) - DOS is too old to support them and so you're losing performance. Even the 700mhz+ range may still be better off using nLite-modified Windows XP to strip out all the crap, leaving you with a system that is more stable, usable, and workable than trying to squash IRQ conflicts in DOS.
If you DO happen to be on the low end, MAME may actually not be for you. VAntAGE, RAINE, Callus, System16 - all high quality emulators that run 5-10x faster than stock MAME. If you can live with the somewhat reduced library, your quality of play will go way way up. At the very least you don't need to be on the bleeding edge. It's a well-known fact that MAME has gotten slower over the years, so try older versions to see if your performance improves.
And while we're on the subject: Want to load up your system with all 6000+ ROMs? Don't bother. I love to show off my cabinet to people and say "It plays 729 different games!" but the reality is that when I sit down I play Galaga and Dangun Feveron 95% of the time, and then cycle through about 10-20 more afterwards. There are hordes of games I've never so much as booted up. Some may not even run at all and I'd have no idea. Honestly I'd be happier if I took out the drive and replaced it with a 64mb CF card stocked with my top 50-100 arcade games, nothing else. Then I'd have a menu in which everything is good. Didn't I build the cabinet to replay my favorite games?
ArcadeOS is kind of a crusty old frontend, but now that I've sunk so much effort into making it THE frontend for my cab, I don't feel like toying with the other available ones for DOS (Game Launcher, AdvanceMenu, Kymaera) even though some of those look way snazzier. Spend a little time playing with the software in a "test environment" first and figure out what you like before you put the machine in the cabinet. At that point it can be quite difficult to make a shift.
Hope you learned something. I learned a lot, to be applied with my next cabinet - a vertical bartop made from an old laptop (don't tell my wife!).