@Shue M109 won't work with standby temperatures. It's better to use G10 to set the active and standby temperatures for each tool (you can put this in the slicer start code if you want), and send M116 after tool changes, which waits for all temperatures and other slowly-changing variables to arrive at their set values.
So you code would be something like this, which will turn on both tools, set T1 to be standby, T0 to active, then wait for temperatures to be reached:
G10 P0 S220 R165 ; Set tool 0 active and standby temperatures
G10 P1 S220 R165 ; Set tool 1 active and standby temperatures
T1 P0 ; Select tool 1 to turn it on but don't execute tool change scripts
T0 ; Select tool 0
M116 ; Wait for all temperatures to be reached
This is usually at the beginning of the gcode, but you can do this when changing tool. At tool changes, you just want
T1 ; or T0, whichever tool change is next
M116
Rather than setting this up in the slicer, you can also use the tpre[tool_number].g and tpost[tool_number].g scripts to handle how tool changes are managed. See https://duet3d.dozuki.com/Wiki/ConfiguringRepRapFirmwareCartesianPrinter#Section_Tool_change_files
Ian