Very interesting thread with some good suggestions and experiences.
As others have said, the best is to have a strategy that you and your partner agree on at birth. The strategy will depend on the language(s) spoken where you reside, the language(s) that you and your partner speak, and what you and your partners wish your children to speak. I've heard the expression "one person, one language" and although not 100% convinced by the idea, a lot of people are and incidentally it's what they do in the local kindergarten (one teacher - Hoch Deutsch only - takes the class for three days, and the other teacher - Swiss German only - takes the class for the other two days).
However, this does not always happen and so some people find themselves in the situation you describe now. First of all, do not panic. Your children already have an excellent understanding of English, as you have already said. And there are lots of stories of children doing exactly this - understanding language A perfectly, but replying in language B. Generally the child will at some point start actively speaking language B - when and where this is triggered, and how well the speak the language (grammatically, the pronunciation/accent etc) will depend.
In the meantime, you do not just have to wait for that to happen, you can help the process. In my mind there are three major criteria for a second language:
- motivation
- opportunity
- necessity
If the child is not motivated, or does not see the sense/value in learning a second language, things will be hard. Motivation can films/books/games in the second language, trips abroad, sport/cultural activity, relatives etc.
Opportunity - obviously the child needs occasions to practice (actively with you/other people, passively with TV etc).
Lastly, necessity can be a great help. If/when the child realises that the only way to communicate with certain people is in the other language, than can help greatly.
As for our experience, eldest daughter was born in Paris to an English father and French mother. The mother (very good level of English) even made an attempt to speak English at home at first with our daughter. Between us, in front of our daughter the language was English, and privately between the mother and I it remained French. Worked well for us, and for the first few years, both languages were near the same level (neither language was 'behind'). When school started (at 3 years old), the French started to be better than the English.
After the arrival of daughter number 2, things were more difficult (as in more French at home). So I just went more 'fascist', insisting on English at home and moaning when French broke out (or if they 'dared' to be speaking French when I got back from work). A few (the majority?) of bilingual books do not recommend this - they recommend one language per person, and letting the child decide what language to speak and when. I don't quite believe in this - children will take the easier route (language) - and I thought a bit of structure ('English at home!) was required considering the heavy French environment we were living in. Also - important - it made me feel better.
Here in Zurich, with both Germans, I'm a lot cooler But still I think I moaned about excessive French speaking on getting home on Monday night!
Finally, an anecdote that still brings a smile to my face. So eldest daughter is 3-4, and is in her first year at school (in Paris). She is more self conscious now, and like a lot of kids at that age wants to fit in and *not* be different. I was taking her to school at that time, and it was becoming difficult to get her to speak English going to and in school (had to take her in, take off her coat, change shoes etc). So one afternoon when I went to collect her, I speak English as usual. Then a group of older boys (couple of years) come along and hear me speak English. So one of them says something (in French) along the lines of "ahh, you speak English? that's really cool. how do you know English?". My daughter replies that her father is English. Then the boy starts speaking a few words of English he knew and his friends tried to follow. After that no problems for my daughter speaking English. She realised that although she was not the same as "everyone else", her difference was actually something positive!