Starting 8/15/2014, if you have applied any payments and/or adjustments to a service line / procedure, then you will not have the option to delete that service line on the edit session form (the delete icon will not be present).
Justification / Reasoning
When you apply a payment / adjustment, you are applying it to a service line (or procedure). Internally, the payment/adjustment is applied to a service line ID (this service line ID is an internal/database ID). If you delete the service line, the payment / adjustment still exists. However, the payment / adjustment would be applied to a service that does not exist.
If you add a new service line (with the same service code), this new service line will get a new database ID (a new service line ID). While it may appear to be the same service line (because the service code is the same), internally, it is a different service line. Therefore, any past payments / adjustments that you had applied, are not automatically applied to the new service line you created.
For example, let's say you create a session with multiple service codes. One of those service codes is 90257 and a charge amount of $100.00. This will be recorded in a database and assigned an ID (let's say 1201). You then apply a payment of $30.00 towards that service line. The payment is recorded in your payments database and is pointing to service ID 1201. If you delete this service line, it does not delete the payment. Now, if you create a new service line with service code 92507, it will get assigned a different service ID (lets say 1202). The 30.00 payment that you applied is not pointing to this new service ID.
You will still be able to find the 30.00 payment in your payment lists. However, the balance for the client would not show this 30.00 payment because the charge was deleted.
I really need to delete the service line
If you do need to delete the service line, then you will need to delete the payments and adjustments that you applied to it first, and apply them to other service lines if needed.