To T3sl4co1l: You're right. The circuit I designed is not correct. I pluck this from LT1617 datasheet without fully understand it. I've redesigned a buck-boost convert, please see the attached if it is any good.
Ahh, much better!

I wouldn't bother with the fancy gate driver -- or, rather, I wouldn't bother with anything fancier than usual. The supply is so low that you don't need level translation between the MCU's output and the gate voltage.
The complementary emitter follower you had isn't too bad. It's a little marginal when used with logic-level FETs, because the base-emitter voltage drop prevents Vgs pulling below 0.6V or so (at least, with any speed). Still not usually a problem.
You could use a large logic buffer (a few "bus driver" size gates in parallel), a proper gate driver chip, or "build-your-own" with a 2N7002 and BSS84 (CMOS inverter on steroids).
Can I still use voltage feedback, does it impose any danger?
No, and yes. At least, you shouldn't use it. The inductor current is an independent variable, and also the one that causes transistors to explode. A poorly designed voltage-mode PWM circuit will gladly drive 100% PWM, because it doesn't have any way of knowing that it is a dangerous condition. At best, you have to add an explicit duty cycle limit or dead time to prevent it from shorting the supply into the transistor into the inductor, but this still leaves no control over excessive inductor currents; if the output is shorted, the inductor current will continue to blindly build up.
Instead, by regulating on inductor current, you prevent such a situation, implicitly. If the error amplifier commands maximum output, all the current regulator can do is deliver maximum current: no more, no less. The PWM % doesn't matter in this case; it can be 0 or 100% and everything is perfectly happy. It may spike to 100% (i.e., staying on for a few cycles), which is just to say, it's trying to drive as much current into the inductor as quickly as possible to keep up with demand; it stops once it reaches maximum. Handy, eh?
Buck-boost is particularly nice, because you have one end of the inductor grounded, so all you need is a shunt resistor (and possibly a current sense amplifier, to save on voltage drop) and the current control op-amp. The voltage regulator op-amp goes outside, so it's an inner loop controlled by an outer loop.
It's much easier to do once you've seen some circuits. I don't have a block diagram handy, but this is one of many examples:
http://seventransistorlabs.com/Images/UC3808-2.pngThe UC3808 is a peak current mode controller (essentially a push-pull version of a UC3842, most often used for isolated flyback converters), so it's not regulating the average voltage on the shunt resistor, but turning on until the current reaches a threshold; the effect is generally the same however. The TL431 feeds back an error signal, from the output voltage, through an optoisolator. The 3808's error amp is wired for -1 gain so it acts as merely a current source, but if isolation is not required, it can be used and no TL431, opto, etc. is needed.
Tim