The 33% return you note is only capital gains (which is certainly a nice return). But I think the real sweetness is that prior to the spill BP paid an $0.84 quarterly dividend (BP was forced to stop paying it). If they reinstate the dividend at the same $0.84, BP's yield will be ($0.84*4)/$46.03 = 7.3%.
I think BP will reinstate its $0.84 dividend sometime in 2011. So if you buy now you can earn 7.3% per year (excluding capital gains) for the rest of your life. Not too bad in a world where the 30-year bond yields 4.5%.
Also keep in mind dividends are now taxed lower than interest. So on an after-tax basis (say at the 28% bracket) the difference is:
BP dividend: 7.3%*(1-0.15) = 6.21%
Treasury yield: 4.5%*(1-.28) = 3.24%
a little less than double the return.
Of course, if BP repeats itself......