I think you got it right for the most part, but there are a couple of weird sentences.
You also seem to be going very deep and applying too much logic to them.
For example, 이/가 in most cases just directs the listener's attention to something.
Saying it has the sense of "this and only this" seems to be attaching too much meaning to it.
The two funny sentences I mentioned are:
1) 돈이 민우가 없어요 (Wrong) => 민우가 돈이 없어요.
2) 돈은 민우가 없어요 (Weird) => 민우가 돈은 없어요. (natural)
"돈은 민우가 없어요" is not wrong, but it's in unnatural order which might only be used in some rare contexts.
(For example: "민우는[가] 머리 좋고, 직장 튼튼하고 돈도 많잖아?", "돈은 민우가 없어요.").
About the last example,
A: 떡은 누가 먹었어요?
B1: 떡이 있었어요? 나는 못 봤는데.
B2: 떡은 안 남았어요?
This example is a case where the topic/subject particles (for 떡) are not that important.
In real life, A and B2 (and maybe even B1) are likely to be said without the particles for 떡.
(If there are other foods before them too, 은 in A would be necessary, though)
B2 sounds a bit strange. Since 떡 has been mentioned twice, saying 떡은 again is not necessary.
Most would just say "더 안 남았어요?".
So it would more likely go like:
"떡 누가 먹었어요?", "떡이 있었어요? 난 못 봤는데. 더 안 남았어요?".
Overall, it appears you have a good understanding of their usage, and your grammar book seems to be going deep on the subject :-)