For the best use of energy and heat, a block heater should be plugged in for no more than 50 minutes. This is because anything over 50 minutes is simply lost to the outside air.
It is important to note that a block heater is not designed to heat the interior of a vehicle, only the engine block. Heating up the engine block on a cold morning prevents cold starts, a condition that causes an engine to work twice as hard just to turn over because of the lower temperature. A block heater will also increase the life of the engine provided all other maintenance is taken care of. Since the block heater's only job is to heat the engine block, it should not be started overnight. It is better to use a timer and set it to start 30-50 minutes before it's needed so energy and heat are not wasted.