The largest block heaters are 1500watt, 120 volt units that draw 12.5amps, or 1.5Kw/hr of electricity. 1.5Kw/hr x you Kw/hr rate x hours of peration will give you your operating cost. So:
1.5Kw/hr x $0.14251 (my local power rate) = $0.213765/hr x 24 hours = $5.13036/day x 30 days = $153.9108/month to operate the largest engine block heater 24/7 for a month.
A 400 watt heater 0.4Kw/hr x $0.14251 = $0.057004/hr x 24 = $1.368096/day x 30 days = $41.04288/month
So, in my area, with my power rates, an engine block heater will cost between $0.057/hr to $0.213765/hr to operate depending on the size of the block heater.
Diesel fuel here costs $1.01/lite or $3.8178/gal. At a consumption rate (best guess at idle) of 1/2gal/hr and warming for 10 minutes before moving, one would use $0.3187863 in fuel x 30 days = $9.563589/month
The above of course doesn't take into account the cost of decreased battery life, decreased starter life, and costs associated with increased engine wear. And of course, most only leave a block heater on for a maximum of 10-12 hours/day. If you have a timer to use with your engine block heater, that by far is the best way to go.