@printerguy3d G32 basically just calls bed.g. G29 is a pretty normal part of bed.g, so no problem there; you just wouldn't put G32 in bed.g.
The sequence in your code is:
Your gcode sets the bed temperature, then does not wait to call bed.g bed.g sets the hot end temperature, then homes without waiting It then sets the hot end temperature and waits to get to temperature Then probes the bed to create and save the bed mesh, returns to start gcode Sets hot end and bed temps, waits to get to themSo you're probing while the hot end and bed are still warming up. Unless your bed is changing all the time, and needs calibrating between every print, it's better to just load a saved bed mesh heightmap. I do it by having a bed.g macro that:
heats the bed to the operating temperature homes the axes (I have X0 Y0 in the middle of my bed) probe the bed with G29, saving the resultsThen each time you print, home and probe the bed once at the centre to set the Z height, and load the bed mesh. Generate a new bed mesh with G32 if you notice it needs it.
Ian