Labiovelars like /kʷ/ (that is, the Latin qu- sound) and /ɡʷ/ have turned into labial stops in at least some environments in a few different languages (almost exclusively in European Indo-European languages); it happened in Greek after the Mycenaean period (compare e.g. the verb ἕπομαι hépomai 'to follow' with its Latin cognate sequor, both reflecting the PIE root *sekʷ-; in certain environments the labiovelars became dentals instead), in some but not all Celtic languages (Welsh pedwar 'four' but Irish ceathair, from PIE *kʷetwóres), in the Sabellic Italic languages (Oscan pumpe 'five' vs. Latin quinque, from Proto-Italic *kʷenkʷe < PIE *penkʷe), and then again in some of the Romance languages (Sardinian and the Eastern Romance), as you've observed. There, it only happened in very few environments—possibly only before /a/.
Often in these languages /kʷ/ would become /p/ and /ɡʷ/ would become /b/, preserving the voice of the labiovelar (/gʷʰ/ was often trickier; it became /pʰ/ in Greek, for instance), including in Romanian: Latin aqua > Romanian apă, as you said, but Latin lingua > Romanian limbă. (I don't know much about Sardinian, but I would guess the unexpected voicing is just assimilation to the surrounding vowels. The gemination is due to aqua becoming acqua in certain areas during the Latin period, as complained about in the Appendix Probi.)
The process seems to be more immediate than you've outlined, with the labialisation of the phone going from being a secondary articulation to being the only place of articulation, at the expense of the velar aspect, in one step. If betacism were a factor, for instance, we'd presumably see some effect on inherited /v/ from Classical Latin /w/ in Romanian, but we don't.