Perhaps I should clarify where the water gets through the bonnet. The small, plastic windscreen washer nozzles sit in holes in the bonnet. There is no sealant between the plastic nozzles and the bonnet. Water is able to get through the small gap around the plastic nozzles. This can happen when it rains or when the car is washed. The water is NOT the water in the windscreen washer bottle. The water may, or may not, cause a problem, depending on where it falls on the engine.
Either use a sealant on the nozzles and/or "tack" a small polythene sheet underneath, to prevent water dripping on to the engine. This solution is so simple and cheap, it is surely worth trying before getting involved with garages or more expensive possible solutions?
Of course, reading this, you already have the problem. I would suggest that you try to identify where the water has affected the engine and try to dry out the area. The engine management warning light can be encouraged to go out as I have explained in a previous post,
My experience with a C3 is that, as a precaution, the sealant should be applied to all C3 washer nozzles, whether or not problems have yet been suffered, and especially after the engine is running properly again.