さっそくためさせていただきました。
結論から言うと>>77でも>>78さんのやり方でもできましたが、>>77で書いた問題はどちらもありました。
で、その問題はなぜ起きるかと言うと、UpdateDataの契機でIDC_EDITもIDC_EDIT2も
最初の行にスクロールして戻ってしまうからでした。
よって
CXXXDlg::OnAddString()
CXXXDlg::OnAddString2()
のいずれのハンドラでもIDC_EDIT、IDC_EDIT2の両方に対し、最後の行に移動する処理を書く必要があったみたいです。

もっとうまい方法がある気がしますが、自分はこの辺でやめときます。
(キャレットを最後に移動させておくとかするとUpdateDataで最初の行に戻らないのかも??)