JSCLASS_CONSTRUCT_PROTOTYPE was a mostly-internal hackaround used for a couple internal classes to make bootstrapping/initialization code shorter. It might somewhat have had that effect, at the call site. But it resulted in a bunch of grungy internals code that did things "just so" to get the vaguely-promised ultimate semantics. Inside SpiderMonkey we removed all uses of it somewhere around mid-2011. Luke mailed the list on November 14, 2011 asking about removing it, and got no responses. I'm not sure when we actually removed it, but it was likely somewhat soon after.
As for replacing a use of it. That really depends on how/what you're doing. Your best option is probably to manually munge the prototype object into submission ;-) after calling JS_InitClass. But really it depends what you're doing, how this fits into the structure of your existing code, and so on. It's very hard to say in isolation what the best alternative is.
Jeff