issue is your Value property... you need to change it to code below.
the base is never being set
private void RecalcValue()
{
//remove the myValue property...
//myValue = (double)(base.Value * factor);
}
[Browsable(true)]
public new double Value
{
get { return (double)(base.Value * factor); }
set
{
base.Value = (int)(value / (double)factor); ;
}
}