Sorry for disappearing for a while again, life has definitely been getting in the way!
In addition, it has taken me ages to get a stable working version of Windows XP (I have a legitimate key but I was having difficulty with no activation servers being online). That has now been resolved, I now have a solid XP VM, the diagnostics software, the wiring diagrams and the parts catalogue installed (no names given but I'm sure you know what I mean).
C3driver52, thank you for the suggestion. You got my mind working and I found your related post on the forum. The C3 Picasso looks to be a bit different to the C3, there certainly isn't the hidden box the same as yours.
(Picture rotated, the left side is the top of the engine bay)
However, you did make me realise that the car could have an additional heating resistor, thank you! I checked the parts catalogue and it is there within the heater matrix. I then realised that the car has never been warm on cold mornings, even when the heating was set to 'hi' or the windscreen defrost setting. I also searched the wiring diagrams for 'additional heating' and sure enough, I found that 'Additional Heating 1' and 'Additional Heating 2' go from the BCP (relay 3 protection switch) to the ECU (8095C & 8096C on the diagram below). I found the BCP, it is black box with the red connector in the above picture. I figured the C3 Picasso design is different to the C3 and it is a sealed unit rather than a box of separate relays.
BG06 (yellow connector on BCP3) is power from battery terminal fuse F6. The fuses on top of the battery are all intact and the BCP was getting voltage. However, no matter what I did, I could not get any power or resistance from the BCP3 outputs. So, I decided to replace the BCP3, I just got a second-one (tested as working) on the cheap for the moment.
New-old BCP3 fitted and the heater now definitely blows lukewarm air instantaneously when the exterior temp is below 10°C. Also, when I plugged the car into the diagnostic software, it no longer shows P1403 and P1404 in the Global Test (I didn't clear them, they just stopped appearing. They weren't in any of the individual sections ECU, BSI etc either).
GREAT I thought. However, the codes still show up on my OBDII reader. Also, and a bit weirdly, the codes also show in the French language section of the disconnected/offline version of the diagnostics report, not in the English written part but the part entirely in French. I did try and run the additional heating relay test in the diagnostic software, I couldn't hear the BCP3 ticking but I wasn't sure if that was the box that was being tested.
I'm therefore not sure whether the problem is fixed or not. The codes are certainly still there on the OBDII app. Is there somewhere else I might need to clear them?
I also managed to confirm that my Exhaust Gas Temperature sensor on the DPF isn't working properly. It was permanently reading 149°C on my OBDII software, I thought it was a bug in the app but it also shows exactly the same fixed temperature in the diagnostics software. I will start a new topic for the EGT, as I need help with the resistances that I found, but I am mentioning it here in case it is all related.
I've written this in attempt to clear this up in case anyone else who has similar codes finds this but if anyone has any thoughts on all of this, I would appreciate the help!