$COM can return a string.
Problem is your not accessing a method. You need to get access to the Field object in order to get the value out. You could try the GetString approach.
When you use that syntax your accessing a default method which I belive is the Collect method. This returns a field object which has the default method set as Value. So this will not work for the same reasons the other ones won't.
Hope this helped.