I checked the project you are using. In the project, the Fram_Write function first calls the Fram_SetAddress function that sends the start condition followed by the slave address. It then checks if the slave sent an ACK. If no ACK was sent, it returns with this status and the Fram_Write function does not continue anymore. The code does not handle an error condition when a slave is not present. With proper error handling implemented, the Master should send a stop to reset the I2C bus back to it's default state which is both SCL and SDA at HIGH. As this is not happening, you are seeing SCL stuck at low. With this condition, all further calls to the Fram_Write function will also not execute. When a slave is present, everything works normal.
So, this is an expected state considering how the code handles an absent slave.