We just flew from Brisbane to London via Sing on SQ and I would not do it again with a bassinet as it was too small for my son who was 10 mths old.
We were also told that the bassinet was not guaranteed and when I questioned them they said that the request had been put in but preference was given to the smallest babies on the flight. Having said that, when I went to check in online they didn't even have my husband sitting next to me and there were people with no babies sitting in the bassinet seats which we then (after much to-ing and fro-ing) asked them to move which they did.
Get to the airport early and try to checkin online so you can see where you are sitting. Each plane has 6 bassinets available, 4 at the front and 2 further down the plane in the middle seats.
If I was to do this flight again I would buy a seat and take a car seat to put bub into that although depending on how old your bub is they might sleep ok in the bassinet. THey do make you take bub out of the bassinet if there is turbulence which is very annoying if you have just got them to sleep and their definition of turbulence ends up being hardly anything. You don't have to take them out of the carseat if there is turbulence.
Apparently BA's bassinets sit on a fold down "arm" that you can also attach a car seat to (so you don't have to buy a seat) which I would be looking into next time.
Hope this helps - let me know if you have any qu's.