Each FIT message header includes the local message number which indicates how the message should be interpreted (using previously encountered message definition for that local number).
If the same local number is used for *different* messages the message definition must be resent each time the message meaning changes. If different local numbers are used the message definitions do not replace one another and do not need to be rewritten.
So 2 messages both using Local0
Local1 Def, HRV
Local1 Data HRV
Local1 Def, Record
Local1 Data, Record
Local1 Def, HRV
Local1 Data, HRV
Local1 Def, Record
Local1 Data, Record
...
If different Local numbers are used the definitions need only be sent once
Local1 Def, HRV
Local2 Def, Record
Local1 Data, HRV
Local2 Data, Record
Local1 Data, HRV
Local2 Data, Record
Local1 Data, HRV
Local2 Data, Record
...
See the FIT Protocol Document for more details, in particular §4.1.1 and §4.6.3.