Flashing light in the eye can be caused by many factors. The most common reasons are Migraines, posterior vitreous detachment, and Retinal detachment. Other causes like low blood sugar, low blood pressure, and floaters can result in flashing light in the eye. So you need to have a thorough eye exam and find out the real reason.
It sounds a little strange that you have flashing light accompanied by a sensation of foreign objects. It is less likely that it is caused by retinal detachment as the problem has been existing for years. You just need an eye exam and find out the real cause.
Maybe it is caused by retinal detachment. There are some other factors that may cause the flashing light, like migraines, posterior vitreous detachment, floaters, hypoglycemia, and hypotension. I think you should go to see your doctor to have a check.