I wouldn't nail, I'd screw. He could use deck screws. The trick (and time) is going to be in finding where the joists are. The reason most floors squeek is, well ..., because nails have managed to work loose, thus, the underlying boards are 'moving' up and down the nail's shaft. Hence, after a while, if he uses nails, the floor will end up doing the same thing. So I'd use screws. You could do this yourself. Hopefully, you have access to the sub-floor in the 'room' below. If so, wherever there are squeeks, drill UP through the floor. Measure over to the joists (from the hole), and SCREW down from above. Done! You'll need to add 3/4" (at least) to the thickness of the EXISTING flooring to get the proper length of screw. Be SURE to pre-drill your screw holes 1/2 the 'thickness' of the screw shaft. Screw it down just a 'tad' below the existing flooring so the screw doesn't 'get in the way' of your new hardwood flooring.
As for expansion problems with screwing or nailing, then maybe a hardwood floor isn't a good idea. Maybe that's why you have squeeks. As I mentioned, normally, squeeks are simply due to the flooring riding up and down the nail shaft; not expansion and contraction. If E & C is the case, then I'd stay w/vinyl and 'shim' from below.
As for the molding, get new molding. Otherwise, your new floor will be accented with old molding. It just won't look very nice unless the existing molding is new.
If you have more ?'s, post back or e-mail me directly. My best to ya and hope this helps.