If you go the short block route, your mechanic should send the heads to be inspected and resurfaced at a machine shop before installing them on the new block, or he might have the tools and expertise to do it himself. If the heads check out okay, there shouldn’t be any problem putting them on the new block.
The thing with used engines (and I suppose it also applies to used heads on a new short block) is that under normal circumstances an engine should outlive the car. It’s not like in the old days where you could reasonably expect to get some finite number of miles out of an engine, and so starting from 0 miles with a new engine would get you considerably more usage than a used one that’s already got some miles on the clock. The drawback of a used engine is you’re taking a bit of a gamble since you don’t know its history, but the inspection a reputable salvage yard will do along with careful monitoring during the brief warranty period should catch anything egregious.
That said, if the car is in otherwise good shape (did you fix the PCM problem?) I could see how a crate motor would be appealing. You’re definitely right on point #3, especially if the mechanic has to farm out the head work to a machine shop. That’s something where hopefully you can get him to run the numbers to see how much more the long block would actually cost you than an installed short block.
Although that brings up another big advantage of a used engine. A long block usually comes with the bare minimum of stuff they can bolt to it and reasonably call it an engine. So you get a bunch of extra labor swapping over the spark plugs, water pump, intake manifold, etc. It depends on the junkyard, but used engines usually come pretty close to ready to drop in, minus only the fuel and ignition system stuff, the alternator, starter, and AC compressor. (Although once I bought a used engine that amazingly came with everything, including the air cleaner and a clutch!)