Microcontroller Constant Power Output - Is this Okay?
The battery voltage will change once you start drawing current and will change during the 4-6 seconds. The resistance of your (vaping heater?) will also change significantly as it heats. 

The MOSFET you show is unsuitable, you will need one that can turn on fully with the output voltage the op-amp can supply, given a 5V supply voltage. T Similarly, the op-amp needs to be  a type that can accept the required common mode range at the inputs, and produce enough voltage at the minimum supply voltage to fully turn the MOSFET on. The default type you show is unsuitable. 

You cannot get 30W with only 4.2V and 0.6 ohms, let alone 2 ohms. Even if the MOSFET is 0.005 ohms the sense resistor is 0.15 ohms, so the maximum power is 23.4W. 

You might do better to thermally model the heater and simply power it on fully until the integral wrt time of voltage*current reaches a setpoint (or use a slightly more sophisticated model and take losses into account).