Your first question is already answered. Here's a go at the others:
void new InsertUser(User user)
This would create a new implementation of InsertUser that would hide the one in the base class. So:
myClassBInstance.InsertUser(user);
would call MyClassB.InsertUser(), whereas
MyClassA myClassAInstance = myClassBInstance;
myClassAInstance.InsertUser(user);
would call MyClassA.InsertUser().
This is in contrast to the explicit interface implementation, which will only be available through the interface. Then
IMyClassA myIClassAInstance = myClassBInstance;
myIClassAInstance.InsertUser(user);
would call MyClassB.InsertUser, whereas:
myClassBInstance.InsertUser(user);
...would call MyClassA.InsertUser().
Now, for the last question: If MyClassA implements IMyClass, the declaration:
public class MyClassB : MyClassA, IMyClass { }
is actually redundant (but legal). As you suppose, MyClassB inherits the interface from MyClassA. So the declaration
public class MyClassB : MyClassA { }
would be equivalent.