Hohokam:
Can you explain why this occurs? I have a buck converter built in the same fashion and it works fine..
Let's assume Vin/C1 (source of the p-channel fet Q3) is connected to a 30volt supply.
Then gate of Q3 needs to be >=30volt for the fet to turn OFF.
I assume you have "Buck_PWM" (R5) connected to an Arduino PWM pin (0 or 5 volt).
If so, gate of the p-channel fet is 25-30volt lower than it's source, so fully 'ON' in both cases.
Voltage on D2 is always 30volt, because Q3 is always conducting.
L1 > D4 > C2 is a dc path, so voltage on C2 is also ~30volt, and can only be boosted with Q2.
Leo..