This is a very good question. I think the difference is between a comma-separated list of three or more subjects, and a simple ("and"-separated) two-part compound subject.
Let's take the slightly longer list: "When I opened the fridge there was only a bottle of milk, some eggs, a loaf of bread, and butter." In such a list, the items form clauses in the sentence; each one could be the singular subject or object of the exact same sentence: "... there was only a bottle of milk", "...there was only a loaf of bread", etc. You could also remove either of the two inner items with no change to the rest of the sentence (the fact that I was able to add the extra item to your quoted sentence without changing anything else in that sentence demonstrates this). In this case, the first rule you stated is correct; you pick the verb conjugation that works for the first item in the list, as if it were the only one.
However, when you get down to two items, now there are no more commas. The two items, say "a bottle of milk and butter", now form a compound subject; the two items are being referred to as one entity, which is always plural. In this case, the plural verb should be used.
EDIT: Good points. Some of those sentences sound better than others:
There is further rain and strong winds forecast for the next three days. - Not bad. I think "are" works here too.
There was a loud bang and some flashes of light before flames started pouring from the windows of the house. - This does indeed work better with "was" than "were", no question
There is a bank and cash machines in the city centre. - this one grates my ears; "there are a bank and cash machines" sounds much better for some reason.
There was no water or animals anywhere in the desert. - OK, but I think "were" sounds better here as well.
The biggest question, given the above, is why there is a difference between the second and third sentences; their structure is practically identical, the only difference I can detect is tense.