The original code was failing because the base to object flushing was only happening as part of the depsgraph. However we can use the evaluated values to set the initial values of the base. In this particular case, we couldn't set the new object visible because its selectability flag was not set yet.