OK, first issue first. I think I am seeing the same behaviour, and there is a simple "fix".
I have a class, declared in "test_simple.h", with the implementations in "test_simple.cpp", class called "simpleTestClass"
In a different file I have the function:
void usingSimpleClass()
{
simpleTestClass localFoo;
localFoo.NewMember(34, 23);
}
triggering "Create Method" on "NewMember" gives me the create method dialog. When I use this the declaration goes into the header file and the implementation into the cpp file. In the cpp file I can now place the caret into the method name and trigger "Move Implementation to Class Declaration", which does exactly that.
The idea behind VA's refactoring commands is to have fairly simple and well defined actions that can be chained together to achieve your final result. So this is done in two steps rather than asking, during the creation, where you want the implementation to be placed.
I am not seeing any obvious problems renaming the new function in this example.
I used undo to get rid of the created method, created it again, and renamed it to be "NewMemberOrange" in the dialog. This created valid code, confirmed by compiling it successfully. The unknown method call failed, but that was expected.
Can you reproduce the invalid code easily and on demand?