Unfortunately this approach will not work with the proxy. The upcoming service pack for V-Ray 3.0 has the capability to randomize colors based on instances with the VRayMultiSubTex texture, but there is nothing for V-Ray 2.x
Would it be possible to add a V-Ray modifier of some sort that loads the proxy mesh at render time (instead of the renderer itself doing it), and accepts other modifiers on top of it? Similar to how “Off in viewport” can be used to disable evaluation until rendering I guess. This would be useful for adding UVW XForms, Mesh Selects and more to proxies.
I know that V-Ray loads the proxies dynamically based on visibility etc, and for all I know this might not work at all because of V-Ray’s architecture. Just an idea