I think it should be cancelled again.
For one, Bahrain is boring and doesn't attract enough of a local audience. Secondly there are circuits, especially some of the dropped European ones which could pull in a massive local crowd and be far more entertaining.
On the more political side of things, I think given the events in the country, I think the government will do everything they can possibly do to put on the race, in an attempt to send out the message that things are 'normal' in the country.
I don't doubt that the government will do everything to protect the F1 teams, but it's creating a silly bubble that doesn't reflect what's really happening in the country, they aren't fooling anyone though. But further to that, if protestors really try and make a stand at the race, how far will the government go to stop them? If somebody gets hurt or worse killed then that's the worst thing F1 could possibly be associated with.
I think it probably will be called off, but knowing Bernie he's going to let it stew until the last minute so it builds up more headlines involving F1.