Hi
I believe, you want to to set the delivery date to default to system date during creation through ME21N.
So once the PO is created now only through other transaction like ME22N / ME23N (change mode) the users you can change it and no need to set it default.
You can handle this through transaction type.
For Creation its 'H' ( tranasction ME21N), when transaction is H you set the delivery date to system date.
For Change its 'V' ( ME22N or ME23N (change mode) , you do not set here.
To catch the transaction type, you need to BADI - ME_PROCESS_PO_CUST, Method - OPEN.
The field is IM_TRTYP , you can pass it to a variable i.e creating instance attribute in the implementing class of the above BADI.