Thanks for your input, nothing drastically wrong then? I was expecting more critisism to be honest, for example, when looking for references for wiring up the lcd display (I like to learn through example) I noticed some people used resistors between the pic and lcd on the data lines, but some don't bother - I assume it's an 'opinion' matter and down to your style.
I am relatively new to the hardware side, though I have a very good development board with led's, lcd etc so developing the software isn't so bad.
I am mistaken with the solenoid - I was thinking from a pwm perspective as most people use them to drive motors at very high frequencies, 300hz is fast for a solenoid, however I had the solenoid tested in it's natural state (vacuum solenoid) with a scope and it's frequency was approx 250.
I've succesfully operated it, moving a linear piston actuator through vacuum at 350hz and below, personally I'd settle for 50 or above to be honest, I think even that's sufficient for my needs, so frequency i'm not too bothered about, though i can confirm the solenoid itself is good at those high frequencies. I myself was expecting it to be about 8hz but no, it's a lot faster. That said the item it controls is very precise and needs fast response, maybe that is why.
The purpose of R3 - this was placed as a result of trying to get the circuit simulation working with proteus, without the resistor trying to tie the line to the mosfet down, I found that the solenoid was 'always on' regardless of the voltage to the gate, tying it down seemed to work, if a 5v battery was applied to the mosfet gate, it would behave as it should, and a lot of information and circuit diagrams I trawled through had this resistor, so i assumed a tie-down was going to be necessary.