Custom Fields from Customers getting blanked in SOs

Hi,

I have added some custom fields in the customers some are decimals and
others are selection boxes. Now the data entry in these fields is
going ok, but when I call these fields to be populated in the SO after
selection of the customer they get populated as well with the data
which is there corresponding to that customer.

Now the problem is that when I look for other charges and pull its
details the custom fields which I have taken from Customer get blank.
Is there a way I can make these fields not get removed just like when
the customer is selected the contact person and address remain there
even if I do a pull other charges?

Also another thing is that I have made some of these fields as
required for the sales order and once these fields get populated then
also the SO is giving an alert that those fields are required, to get
past this alert I have to type something in these boxes to ensure that
the SO gets saved. I would like to know what wrong am I doing?