Hansu, I out a way to make this work. I don't know how you have implemented data entry on your flex grid but on mine, I am using a floating text box to capture user input. Whenever a user initiates data entry on my grid, I pass focus from it to the floating text box. The sub procedure that passes control from the flex grid to the text box calls a boolean function that returns true if the current record is a child record. If a child record is selected, then I do not pass control from the flex grid to the floating text box for data entry and the data grid at that point remains read-only.
The way I know that a child record is in selection is that on my flex grid, only child records have a value in the last column of the grid. My boolean function tests for the existence of a value in this column every time a user initiates data entry on the grid.
I hope this fundamentally helps you. Let me know.