You're not actually changing the constructor by doing this
sap.m.Button.prototype.constructor = myConstructor;
You're simply changing a property that is used by the prototype to refer back to it's constructor function.
To completely change the constructor you simply need to re-assign it
sap.m.Button = myConstructor;
Still I don't know why you would do that. If you want to temporarily change the constructor then you might want to store it first and then set it back to it's initial version.
var oldCtor = sap.m.Button;
sap.m.Button = = myConstructor;
// finished doing your tasks
sap.m.Button = oldCtor;