The book does not exactly say how to power the mosfet - it only says that it gets its power feed from the Arduino 9V pin.
It might be poorly visible from the picture, but I connect the motor to the Vin pin (as told in the picture in the book (see attachment).
Ah, now we get to see the circuit with some clarity. I was suspecting you had the diode wrong, but could not see the connections sufficiently clearly in any of the previous photos.
What has also been missing - as it is in that diagram - is the power feed itself - which should essentially be the same point as you are taking the power for the motor circuit.
@ diode embarrassing to say, that I mounted the diode in the wrong way. When I put it in inversely, the motor started! However, the voltage seemed to low to make it turn fast enough for lifting the ping pong ball in the air.
Again the question - can it do so simply connected across the battery?
What makes me really confused (and putting the diode in in the wrong way): I was convinced the power flows from the Vin through the diode to the mosfet, hence the diode's anode must be connected to Vin and the cathode (with the ring) to the mosfet. Apparently, it is the other way round?
Well the diode is not "feeding" the motor, it is connected across the motor. As the motor can be an inductive device, it may under some conditions generate voltage spikes which could be interfering with other parts of the circuit, if not actually damaging. The diode is to bypass such spikes.
As it was, it certainly was "feeding" power to the MOSFET, bypassing the motor and causing the overheating.