My only question with this is whether the old code simply abused D3D10_CBUFFER_TYPE. I.e., do D3D_CT_INTERFACE_POINTERS and D3D_CT_RESOURCE_BIND_INFO have nothing to do with this field in fx_5_0 binary effects? Can you get those values with newer effect formats?
That's only a concern for using the local enum vs keeping D3D10_CBUFFER_TYPE. I have no issues with the rest of the patch either way.