Sorry, I don't have linx installed at the moment. I would also recommend to ask these kind of questions over in the Linx forum at the LabVIEW maker hub.
To only act on a FALSE-TRUE transition, you don't need a stack of two case structures. Just do a logic operation on the current and previous boolean (you can even use "larger than", i.e. if the new value is larger than the old value, then ...). A feedback node instead of a shift register would eliminate long wires and keep the logic more localized.
Is this code running natively on the arduino? When you read the I2C, you get an array of U8, so you just need to find out how the data is encoded in there. To answer the question on the diagram :"How to get this block to give me possibility of previous Read blocks?", you would again use a feedback node and e.g. compare the current U8 array to the previous reading.