In M4L devices I'm using always the combination [metro]>[transport] as can be seen for example in the step sequencer that comes with Live as Max MIDI effect (have a look at the subpatch 'p Transport'). As I understand it, the transport object delivers exact time information synced to Live's transport. Mostly I'm using the 'raw ticks' output to derive individual beat divisions.
The method seems a bit complicated, but I believe it's the only way to get perfect sync to Live's transport. Somebody please correct me if I'm wrong.