Access 2007 may be a bot more sniffy, and require the precise property. older VB
& VBA has a default property, .NET abolished such a concept, so its possible that newer versions are going down that avenue. generally I suspect its a smart idea NOT to rely on default properties, and always explicitly refer to the precise property you want to access.
so it may be
If Left(ctl.name.text, 3) = "lst" Then
but whethjer that is the root cause of the problems here I dunno