I had this same problem on my 04 e350 with a 6.0 powerstroke
checked fuse, checked for 12v on both ends of fuse, 12v from ignition switch = all ok
turned it over by shorting the +12 from the batt cable to solenoid = starter + solenoid ok
cranked engine by manually activating cranking relay under the hood = relay + wire to solenoid ok (pita but vehicle usable again, whew!)
scratched head for a bit, noticed oddball splices on other circuits and began to wonder about 30A fuse in 5A ign slot...
decided wire from dash fuse panel to relay must be bad (blown fusable link?) ran bypass - no improvement
eyeballed 30A fuse again, swapped for interior lights fuse, lights worked, engine cranked twice then nothing - wth ?????
long story short (too late I know) the contacts in the fuse panel were corroded / bent - fuse wasn't always making contact