Update.... I have just used and tested this method and it was easy to implement and worked with my unsual scenario (BusinessKey > 1 in one load) perfectly.
It also has extra benefit in my case of filling in gaps by default without extra work which can happen in my case when there is an expected issue with load or I redirect one row with BusinesKey but not the remaining rows with the same business key (I can have more than one in one load).
For extra information. Initial load with my (for loop) will also be straight forward. Kimball tip #9 "Processing Slowly Changing Dimensions during Initial Load" suggest weekly load and accepts small % of error which won't work in my case.