You can try to use the JavaCast("int", myValue) function. It
works great for Java objects, but I'm not sure how well it will
work for COM. Worth a try, I guess.
In your case it would be something like:
<cfobject type="COM" context="INPROC" action="create"
name="MR" class="DLLNAME">
<cfloop from="1" to="#AddressCount#" index="i">
<cfset VDname = mr.vdsname(JavaCast("int", i))>
<cfset VDaddress = mr.vdsaddress(JavaCast("int", i))#>
<cfset VDXML = mr.VDSXML(JavaCast("int", i))>
</cfloop>