As others have stated, a 1:1 scale DXF file is going to be the most you can do to help the operator where the file is concerned. Make sure it's generated by a good CAD application. A lot of times, the DXF files generated by drawing programs (like CorelDraw) have lots of nasty problems. Disjointed and duplicated line segments seem to be the most common issues. Also, some 3D and solid modeling software are fine sources, but again, much depends on the application itself. If the cabinet is modeled as an assembly using discrete panels (like you would actually build the physical cabinet), these individual parts can usually be exported as two dimensional outlines when the proper face is selected. With solid modeling, this is usually referred to as a "drawing".
Forget G-Code or other machining languages. Each machine is different and will have it's own idea of the "flavor" of G-Code it wants to use. This is the realm of the operator, so leave it to him.
Also, try to take things like bit diameter into consideration with your design. If you design something with sharp inside corners, and that is 100% necessary for your design to work, it's not going to without some manual cleanup. Think about how the machine works, and design around the limitations. Also, for all but really high end machines, the fewer cutting tool changes, the happier the operator will be.