Just did a quick check - basically it seems to work like this:
public override void OnProvideListLabel(ProvideListLabelContext provideListLabelContext)
{
ListLabel ll = DefaultSettings.GetListLabelInstance(provideListLabelContext.RepositoryId, null, provideListLabelContext.IsPrinterless, provideListLabelContext.Initializing);
ll.Unit = LlUnits.Millimeter_1_1000;
provideListLabelContext.NewInstance = ll;
}
Can you spot a difference? Can you try to modify one of our samples to reproduce the issue?