Unable to activate message appears because Encrypted data is not transferred to new Flex. It may show you message "Data is written ok" but if you check the cable is empty with data and message is appear.
I2C programmer has many issue with generations of flex maybe your programmer is V3.0 gen but your cable is V3.8 gen i belive is not compatible you need to upgrade your device.
You can download the I2C pc software and you can transfer encrypted data to pc, and after transfer to new flex read the new flex with pc software and you will find that flex is empty with data. And that is your problem. alignment is not the issue that can cause "Unable to activate" message. I recomend JC programmer it is more expencive but there is no issue. It is very hard to find older gen flex for I2C. I tested everything possible problems about face id, unable to activate face id is only in case:
1. IR camera damaged
2. Flood iluminator damaged or replaced
3. Dot projector flex damaged or incorrect data or no data in flex like in your case because with I2C replace flex you bypass encrypted IC which is ussed in original flex and use IC builded on flex it self.
Only difference bettween this ic's is original IC is read only but new ic is read/write.
I personaly tested you can use dot projector from another iphone with correct data and portret and face id recording will work only you can't unlock phone.
If dot projector is not in line face id will show message move little upper or move left.... but it will open.
When you use i2C programmer you don't remove original crypted ic it stay on dot projector like a back up if some day you broke a flex.
I hope my post will help you.