Здравствуйте, Роман Смирнов!
1. Можно явно использовать ANSI-версии функций. Например, CreateWindowA("BUTTON", ...)
2. EM_GETSEL возвращает индексы границ выделенного текста, но не сам текст. Вы заполняете буфер индексами и получается абракодабра.
Вам нужно через WM_GETTEXT получить весь текст из Edit-окна, и затем скопировать из него кусок согласно индексам.
P.S. Учитесь использовать локальные переменные, писать программы станет заметно проще.