When someone has a thought, it is very complex. It involves many areas of the brain such as the hippocampus for memory, the limbic system for emotions, the frontal cortex for planning, etc. fMRI technology might be able to show simple objective objects that a person is thinking of, e.g. hammer or house, but it would be very hard to show what a person subjectively thinks about that object, and we would need the latter in order to really read someone’s mind. The technology might advance far enough to reach this level of detection, but I don’t think it will be a reality for many many years. If every single object or feeling in the world was represented by one neuron (e.g. a blue clock neuron, a sad neuron) then we would certainly be able to accurately read people’s minds (see The Grandmother Cells Theory). However, this theory has been falsified simply because there are many more experiences/feelings and characteristics of objects than there are neurons in the brain. Instead the theory of Population Coding has become popular opinion, and basically states that our brains constantly do a statistical analysis of all the inputs from the outside world and averages the inputs in order to process and think about an idea or thought. This is further complicated by what @Zyx brought up about subjective reality: even if we could detect a specific object or feeling, it would be evermore difficult to judge what a person subjectively thinks about that object or feeling. In essence we would need to know not only a person’s entire life history, but also how they subjectively felt about that history, and no system or technology to my knowledge exists that could accomplish this massive task. This subsequently makes mind reading an amazingly complex task.
This research really is intriguing though, and if scientists can figure out how to read people’s minds it would forever change our law enforcement, job interviews, dating, etc. I guess only time will tell.