Trying to understand X10 DIM

If you do the following:

//===========
void setup()
{
  Serial.begin(9600);
    myHouse.write(HOUSE_P, UNIT_1, 3); // 3 repeats (select unit #1)  >>>repeats are necessary for noisy power line conditions
    myHouse.write(HOUSE_P, ON, 3);     // 3 repeats ( turn on the light)
    myHouse.write(HOUSE_P, DIM, 3);    // 3 repeats (more than 1 is needed, see x10 text)
}
//===========
void loop()
{
//no code here
}

I assume the light will turn on and DIM to some level(and stay at that level).
If you push Reset on the Arduino the light should DIM to a lower level (from the previous level).
Each time you push the Reset the light should DIM lower and lower.

To get the light back to full bright you either have to do a number of BRIGHT commands or you have to turn off the light and then turn it back on.

If you want to get some kind of control over the % of brightness write a Function that iterates an "number" of times. This "number" would be determined by experimentation for example it may take 5 iterations of, myHouse.write(HOUSE_P, DIM, 3); delay(500); to go to 50% brightness.

FYI
Have you seen this:
http://playground.arduino.cc/X10/CM17A
http://www.x10.com/automation/ck18a_s_ps32.html