i've seen this phenomenon as well. it's usually cured by changing the topic from last to mark or mark to last.
i've also seen implied volatility being returned instead of mark or last prices. another solution i found that sometimes works, is to close and reload the spreadsheet - anything that will cause a new exchange of the
rtd topics.
the rtd protocol is fairly complex. when the client sends a new request it includes a topic id as well as
the topic (in this case, symbol and mark). the server notifies the client only when data changes. it issues
a callback to the client, which then requests the data from the server. the only data that comes back from
the server is the topic id and the changed value. the client then looks up the id and updates the cell data.
there's plenty of opportunity for things to get out of sync, especially when cell formulas are added, deleted or changed as data is being transferred back and forth. i'm sure this is more information than you want to
know, but it may give a clue where things are getting messed up.