Ok I see your program. I see where you latch the output labeled Sol 1. I do not see where you unlatch this solenoid.
I see where you are sending an anlog signal out ofter some math conditioning.
I see where you are reading a signal and doing some math conditioning.
Now looking at this what I expect to happen is this:
You enter your pressure value at ST_PT_PSI.
This is converted into a signal for your pressure regulator's Analog Input. (Assume all the math is for scaling)
You then read the same presure regulator's output analog signal and convert that. (not sure the reasoning behind this other than to get some scaling units)
Then you use a GRT to latch you output once your scaled feed back from the pressure regulator reaches a value greater than 12.
Now I am going to step off the reservation and make some guesses.
First guess from what you said is your unlatch is based off pressure as well (guessing it was deleted from the program you posted)
So what I believe you are seeing is cavitation from the air cylinder you are firing with the pressure regulator and this is causing you to bounce on and off (latch to unlatch) due to dramatic pressure swings.
So if I am right your problem is mechanical not controls. More than likely you have a massive pressure drop whenever that valve opens up.
Now based on my guess work here are my suggestions:
A) put in a timing filter. Basically your GRT and LES run timers that once complete turn your valve on or off.
B) put an accumlator tank after the pressure regulator that can hold a larger volume of air than the cylinder can consume.
You will still see a pressure drop but it will be slower and lower
C)Put a flow regulator on the outlet of the pressure regulator so it can not dump the air as fast thus reducing your drop in pressure.
D) Get drunk and forget about the whole thing. Take up a new hobby. (this is my favorite option)
Then again I could be in left field but with what you have said this is my best guess.