This is expected because setting the color in code overrides the theme and the color for the mouse over state is not changed. More information about how our theming functionality works can be found in the following articles:
This can be very easily overridden by using Visual Style Builder to change the color for the appropriate state. The attached image illustrates how you can change the button color. Also you may find the following articles very useful when you need to use Visual Style Builder: