First, let me say thanks to everyone here for sharing your knowledge and ideas. I just finished my scanner today. I only have one of my cameras (Canon A640), but the other one is on the way, and I have an old A520 that's filling in until it gets here.
I built the frame out of 8020 aluminum sections, and the cradle and "light box" are MDF. My goal was to build a machine that's as rigid and precise as possible, with the hope of avoiding any postprocessing steps to correct for rotation, keystoning, etc. I'm quite satisfied with the result. The platen up and down motion is extremely smooth, and I can lift it from any point on its frame without binding or flexing.
The lights are LED spotlights from Ikea. I cut the gooseneck on each light with a hacksaw and mounted them in the light box with cable glands. The light box also contains 5V power for the cameras, and a single light switch to turn everything on.
The cradle is pretty much standard, with left/right and width adjustments. The max book dimensions are 12"x10". Since I'm going to be using this mainly for textbooks, I don't anticipate needing to handle anything larger.
On the software side, I'm using linux for capture and postprocessing, with gphoto2 for triggering/downloading, imagemagick for cropping and contrast adjustment, cuneiform for OCR (output in HOCR format), and then hocr2pdf to create the final searchable pdf. I'm working on a simple GUI that shows the right and left pages as they're captured, similar to what most of the commercial scanners have.
The camera mounts are made of acrylic, and have about 2.5" of up and down adjustment, and scales so that I can accurately set the camera height on each side.
There's a small hinged piece that allows the platen to be held in the up position for convenience. Swapping books or adjusting the cradle was really cumbersome before I added this!