Per above solution:
I have tried the third parameter as "US", "USA", and "NYSE" (as in =MSNStockQuote($A2,"Last Price","US"). All failed on selected tickers I had in my spreadsheet returning all dashes instead of the last price. I also tried changing the ticker symbol randomly
to ones I was not actually interested in just to see if the response was the same and many tickers do work just fine (like "MSFT" or "YHOO"), just not with the two tickers I was looking for (like "DNKN" or "BP").
By accident, I happened to change the third paramter to "*USA" (note the asterisk before USA) and it suddenly worked for "DNKN" and "BP". It also works using "*US" (again with the asterisk before US).
I have been using MSN Stock Quotes for years with no problems, first with Excel 2002, now with Excel 2007. This all just started around the end of June, 2013.