Being too fool to swallow my pride, I have spent a lot of time online in the past 48 hours trying to discover the roots of my failure to speak the French language correctly.
For those geeky enough to care, the only rule that I've discovered for the use of nasal vowels is the one that I knew already: that vowels are nasalised when followed by n or m, unless the n or m is doubled or followed by another vowel. En and em are always nasalised. This website explains the rule succinctly, and also points out that there are other rules for nasalisation but they tend to vary according to regional accent (so spending the first year of my Francophone life in Picardie probably didn't help very much!). I can say from experience that the rules also definitely do not apply when French people are using words that have been recently borrowed from English, which they tend to pronounce in the way that they think the English word is said. I was talking to my friend about the film Inglorious Basterds and, when he asked me to pronounce the title as a French person would so that he knew what I was talking about, I did not nasalise the first vowel.
I then got caught up in the issue of when to pronounce consonants at the end of a word. This is a huge issue for foreign learners of French, because the pronunciation often depends on the following word, and, in some cases the register of the language that the speaker is using. There are of course, exceptions to all the rules, and once again I did not help myself by spending the second year of my Francophone life in Lorraine, an honourable and noble region where, unlike in the rest of France, speakers continue to make the distinction between vin and vingt.
I am still depressed and even more confused.