Found the Problem....
    /* Window Procedure */
    ::LRESULT CALLBACK WndProc(
        ::HWND hWnd,
        ::UINT message,
        ::WPARAM wParam,
        ::LPARAM lParam
    ) {
        return WindowProc(hWnd, message, wParam, lParam);
Calling Four paramters here.....
    };

    class Window
        : public boost::noncopyable {
    public:
        /* Deconstructor */
        ~Window(
        ) {
            WindowProc.disconnect(m_Connection);
        };
    private:
        friend    ::LRESULT CALLBACK WndProc(::HWND, ::UINT, ::WPARAM, ::LPARAM);
        virtual ::LRESULT CALLBACK WndProc(::UINT, ::WPARAM, ::LPARAM) = 0;
CALLBACK calling wrong in class... (removed CALLBACK)
    protected:
        /* Constructor */
        Window(
            ::HINSTANCE hInstance
        ) : m_Window(NULL) {
            m_Connection = WindowProc.connect(
                boost::bind(
&Window::WndProc, this, _1, _2, _3
Missing ,_4 since I am calling ::HWND, ::UINT, ::WPARAM, ::LPARAM
                )
            );
            m_Instance = hInstance;//Might need some work...
        };
        /* Varibles */
        static    ::HINSTANCE                    m_Instance;
                ::HWND                        m_Window;
                boost::signals::connection    m_Connection;

    };