Bah... you can end up improving code until the cows come home...

In the EditDateTime subroutine...
Code:
	If UserField=2 then 
		UserMin=1:UserPos=$CB
		Read DOW(1)+20,UserMax
		If UserMax=28 then
			CounterA=DOW(0)//4
			If CounterA=0 then UserMax=29
			endif
		endif
Is a bit more professional and saves 34 bytes.