Hi La-Qa,
Here are the steps I follow.
1. Make changes via WSP, Save, and then Publish
2. Set standby server to background (pdm_server_control -b)
3. Turn off version control on original background server (pdm_server_control -v)
4. Run pdm_publish on original background server (pdm_publish)
5. Start services on original background server
6. Set original background server back to the background server (pdm_server_control -b)
7. Start services on original standby server
8. Recycle app servers
I've also shared a PowerShell script that takes care of steps 1-7. I too have blown away data in custom tables by not following steps 2-5 correctly. The script ensures that the steps are followed correctly every time.
Scripted pdm_publish for AA environment