You can't cast a void* as MCStringRef - void* is just plain data, whereas MCStringRef is a C++ object having more than on the data it contains. However, it's possible to create an MCDataRef from a <byte_t*> using MCDataCreateWithBytes and then to pass it to the MCRemote*Dialog function.
About the update itself, I would suggest to update 2 signatures like this instead:
    void MCRemotePrintSetupDialog(MCDataRef p_config_data, MCDataRef &r_reply_data, uint32_t &r_result);
    void MCRemotePageSetupDialog(MCDataRef p_config_data, MCDataRef &r_reply_data, uint32_t &r_result);
There is no need to specify the length of the data when MCDataRefs are used, since it's possible to query it using MCDataGetLength(). And to keep the consistency with the usual parameters order used elsewhere, it's better to put the return parameters at the end. Anyway there is no implementation of these functions for now, so there will only be signatures and calls to update.