Matlab's GPU support was very primitive last time I looked. As far as I can tell, you have to write special code and compile it with a special compiler, and it only works on Windows computers with Nvidia graphics. It uses CUDA, but not OpenCL. Mathematica seems to support some hardware rendering options, but they expired my copy for me, so I can't check if it is there on OS X.
Matlab uses X11 for its interface, and Apple's GPU switching might just enable the discrete GPU for anything that uses X11 (someone with a new MBP would have to test this).
The TDP might be the same for both chips, but that's the max power, not the power actually used. That means that the cooling system needs to be designed for 35 watts, but the chip probably doesn't put out that much all the time.
The i7 is 5% faster than the i5 by clock speed, and its turbo boost is up to 8% faster than the i5's turbo boost. As far as I can tell, the chips are otherwise identical, so that suggests the i7 uses up to 8% more power than the i5, and thus creates 8% more heat. The relationship between clock speed and power isn't necessarily direct, but it should be close enough-- the MOSFETs in CPUs use basically only use power if they are switching. If you were to stop the clock, the CPU would be using nearly 0 power (except for leakage and resistors and things like that).
Apple's 8-9 hour battery life counts on the CPU being in a low-power state a lot. Doing large calculations continuously in Matlab or Mathematica will easily bring the battery life down to 2-3 hours. For the most part, Apple has been extending the battery life by working on keeping things in a low power state, rather than reducing the power used at 100% use (really only Intel can improve that).
Matlab is notoriously inefficient, and it's not hard to write programs that take minutes or more to execute on large data sets. I used a matlab script once that, given a 20MB wave file input, would instantly take 2GB of RAM, which caused MATLAB to stop with an out of memory error, since apparently it is 32 bit on Macs, so there is a 2gb limit. With a slightly smaller data set, it would take about 2-3 minutes for the same program to analyze the file. Of course, giving it the data in pieces and putting the results together gave the same result as doing it all at once, so I don't know what all the memory use was for.
Skype may be CPU-intensive if you are video chatting. It has to encode the video in real time to send over the internet, which isn't simple if you want good quality video with a low bitrate.
Also look for things in the background that may be causing the CPU to not be idle. For example, Firefox uses 10-30% of my CPU all the time when I have several tabs open, and iStat Pro makes the DashboardClient process use ~2% of the CPU if it is showing a CPU and memory graph.
100C is near the 105C limit. If the fans are not ramping up, there may be a problem with you cooling system.