Code:
#include <iostream>

using namespace std;

struct foo
{
    int a;

    foo()
    {
        std::cout << "hello\n";
    }
};

int main()
{
    foo* pFoo1 = new foo;
    foo* pFoo2 = new foo();
}
Objects are properly constructed for both C::B+MinGW, as well as VS2008.

I think a short but complete code example could shed some light on this.