The PowerCLI version isn't that important in this case, since the function uses the API method directly, not through a PowerCLI cmdlet.
Can you do a small experiment ?
vMotion 1 VM manually on one of the clusters where the functions fails.
When the vMotion is finished, run the above but only for the last 1 hour, like this
$entity = Get-Cluster -Name cluster1
$start = (Get-Date).AddHours(-1)
$eventTypes = "DrsVmMigratedEvent","VmMigratedEvent"
Get-VIEventPlus -Entity $entity -Start $start -EventType $eventTypes -Recurse
Now you should at least get 1 event for the vMotion that was just done.
Problem is I can't really test, since I don't have an ESX 4.1 available anymore