Note there no longer is a C++ Bare Bones, but a unified C and C++ Bare Bones.
You forgot to read the instructions carefully and did a common beginner mistake: Taking assembly for one assembler and translating it to another assembler, poorly. Think about it, if you really prefer your alternate assembler that much, you should get to know it much better. Anyways, what you missed is that we already ported the bootstrap assembly to NASM:
http://wiki.osdev.org/Bare_Bones_with_NASM - note the "Alternatively, you can use NASM as your assembler." link in the Bare Bones tutorial. :-)
The bootstrap stack is not in the bss to allow you to customize its linked location using the linker script. Indeed, you may even be able to discard it once your operating system no longer needs it and reuse the memory for other purposes. The main rationale for doing things this way is just to show it can be done in this manner. The reason you got a warning was that you tried to put initialized (zero values) in the bss rather than just uninitialized values.
Good luck!