I'm afraid the answer is still, as it always has been, "it depends on what you're doing".
Yes, there are diminishing returns from adding more and more cores, and there always will be if you only run a single application at a time.
Even in a well made multi-threaded application, many of the tasks that are threaded out are done so to wait for the slowest components in the machine - hard drive, networking - without impacting the apparent performance to the user. These cannot be improved by greater parallelisation so any theoretical speed up limit is unreachable for practical purposes.
It's worth noting that there are few "big" applications that are not multi-threaded (just check out your OS's Task Manager equivalent, it should be able to tell you how many belong to each process - my Firefox is currently using 31, for example).
Of course, running multiple non-interdependent applications is not as constrained by these limits. As you add more cores you can run more applications concurrently with little drop in processing performance (hard drive, networking, etc performance doesn't scale as nicely, however). In practice, even this too is subject to diminishing returns as there is an unavoidable overhead to managing the distribution of work between cores, communication pipelines, and so on.
For example, this Tom's Hardware post (from 2009) attempts to look at performance of a few multi-core processors under simultaneous applications - running a game along side a AVG scan (both of which are probably multi-threaded). The quad-, tri- and dual-core processors all perform similarly with the game only, but add the simultaneous AVG scan and the performance (measured by average FPS) drops by 22%, 40% and 59% respectively.
So, while a quad core offered no performance boost over a dual core when running one intensive application, as soon as another intensive task appeared it did end up being twice as performant. Unfortunately, I can't find much else that investigates how well this scales with more cores and more intensive tasks.
And then you have to take note of modern features of processors such as Intel's Turbo Boost / AMD's Turbo Core. These particular features allow a multi-core processor it park cores (put them in to a slower, low power, mode) and use the spare energy to overclock the cores that remain active - allowing the processor to optimise itself to provide as much processing power as possible for the number of tasks it is presented with.