I haven't really been following this thread... But tapestry uses byte code manipulation magic to change component properties to PerThreadValues which means the actual member variables are unused.
In development mode, tapestry mirrors the values to the member variables to make debugging easier. In production mode this mirroring does not occur.
