I can't say I really understand your problem – well, maybe I do, but I really can't say …
At any rate, I think you're missing some pieces of your puzzle:
Assuming you have tables like
1. Products (?) --< 2. ProductFeatures >-- 3. Features --< 4. FeatureTestCases --< 5. TestCases --< 6. ProductsTestCases >-- 1. Products (again …)
Now when you start testing a product, use a script to create all applicable ProductsTestCases for the current product; this means “from the perspective of 1, copy the related set of --< 4 and re-create it as a test set in 6”. This is probably what you intend to do with your FinalResults table, but it is easier if you create the test list beforehand.
If you want to perform different and/or repeat tests, you need a Tests table between Products and ProductsTestCases.
Now every record in ProductsTestCases has attributes like testCaseID (which links to a specific feature), productID, and a result of Fail, Pass, N/A – which can be formatted however you like, e.g. with a dropdown. These records can be displayed in a portal on a Products or a Features layout, and these portal can be filtered by feature, product, result etc.