Does the result change if you specifically get the most recent record, using arg_max?
ConfigurationData
| where Computer =="VM01"
| where ConfigDataType =='WindowsServices'
| summarize arg_max(TimeGenerated, *) by Computer, SvcName
| order by SvcName asc