Well, I just tried 3dAllineate and 3dQwarp on a couple of 2D images (axial slices from the same subject, about 5 mm apart).
3dAllineate on 2D images no longer works
3dQwarp on 2D images worked just fine
I create 2 single slice datasets (slices 55 and 59) via commands like
3dZcutup -keep 55 55 -prefix a55 anat+tlrc
Then I ran
3dQwarp -base a59+tlrc -source a55+tlrc -maxlev 7 -prefix a55_to_a59
and the results were reasonable.
For histology-to-MRI, you might prefer to add the '-nmi' or '-hel' options to use a different cost function than Pearson correlation.