Возможны оба варианта.
Дело в том, что существует разграничение по смыслу: наверху, нареч. и предлог (сидеть наверху; гнездо наверху ели), но сущ. на верху (на плоской поверхности подъемного навеса, крыши); быть на верху блаженства.
Корректно склонение имени и несклонение прозвища: ходила в гости к Солеку Проклятый Меч, поссорился с Солеком Проклятый Меч. Ср.: поход Ричарда Львиное Сердце (не Ричарда Львиного Сердца), княжение Всеволода Большое Гнездо.