Hi, Jan,
Time for a top-post. ;-)
All your answers to my questions are consistent with a bug in
c-parse-state (don't ask!). I recently enhanced and severely optimised
this routine (it contains a cache) to deal better with certain types of
non-unusual source files. If this cache is getting corrupted, it could
easily foul up a buffer's indentation.
Would you try one more thing, please: when you reach this buggy state
again, would you please do
M-: (c-state-cache-init)
, and tell me if this clears the buggy state.
Thanks!