Here is how you would create your button:
MyButton button = new MyButton (new RectangleF(0, 0, 250, 37));
button.SetTitle("My Button",UIControlState.Normal);
To Create a button of a type you could try:
MyButton button = new MyButton (UIButtonType.RoundRect);
and see if it returns a button of the correct type which inherits from your MyButton class - but I doubt it. You may have to add the image and size it yourself:
UIImage image = UIImage.FromFile("action.png");
MyButton button = new MyButton (new RectangleF(0, 0, 250, 37));
button.SetBackgroundImage(image,UIControlState.Normal);
Not sure if there's another way but looking at the docs the UIButton.ButtonType is read only and there's no SetType method so you can only set a UIButton class ButtonType property by instantiating it and passing the type into the constructor.
w://