That you are getting heat in the car suggests to me that the heater matrix is not blocked (or at least not completely blocked). Heat one side, but stone cold the other is indicative there may be something else going on.
Your mechanic needs needs to know, not think, if the silikat bag has split. If he doesn't 'know', this might be an issue. It's relatively easy to tell, and reasonable to expect a mechanic to be able to tell rather than guess.
As TC has alluded to, if there's a silicate bag in your coolant header tank, the tank will be marked 'Mit Silikat'. If you take the lid off your header tank and poke a finger in, you should be able to feel the bag, and also tell if it's intact. If I can do it, anyone can. Here's one of the more informative threads on it:
An intact bag is very easy to manoeuvre and wriggle out of the tank. There are other versions where the silicate can be inside a double skinned tank - you obviously won't find a silicate bag in one of these. IIRC there have been incidences where what has blocked the matrix is casting sand from when the engine block was made. Not suggesting this is the case here at all, just that it's not always the silicate bag. I had a coolant check valve fault (perhaps similar to the solenoid valves TC is referring to), which stopped all heat to the cabin, and ultimately caused my turbo to grenade itself (no cooling to that either), with a rather costly bill to fix it all.
Agreeing with TC and Superb, I'd think this warrants further investigation before replacing a matrix which is clearly bringing some heat into the cabin. Has the car been scanned for fault codes, particularly around warm air delivery?
Gaz