Upvote:2
It used to be that a re-entry visa for one of the Schengen states would allow its holder to enter the other Schengen states for transit purposes on their way to the issuing state. However, this provision disappeared from the Schengen Borders Code when article 5 paragraph 4(a) was amended by regulation 610/2013, effective 19 July 2013.
Before this amendment the paragraph read (emphasis added)
third-country nationals who do not fulfil all the conditions laid down in paragraph 1 but who hold a residence permit, a long-stay visa or a re-entry visa issued by one of the Member States or, where required, a residence permit or a long-stay visa and a re-entry visa, shall be authorised to enter the territories of the other Member States for transit purposes so that they may reach the territory of the Member State which issued the residence permit, long-stay visa or re-entry visa, unless their names are on the national list of alerts of the Member State whose external borders they are seeking to cross and the alert is accompanied by instructions to refuse entry or transit
but the current text doesn't mention re-entry visas:
third-country nationals who do not fulfil all the conditions laid down in paragraph 1 but who hold a residence permit or a long-stay visa shall be authorised to enter the territory of the other Member States for transit purposes so that they may reach the territory of the Member State which issued the residence permit or the long-stay visa, unless their names are on the national list of alerts of the Member State whose external borders they are seeking to cross and the alert is accompanied by instructions to refuse entry or transit
Since the only change was to remove the references to re-entry visas, one has to assume that they mean it, and that re-entry visas are now not valid for transit through other Schengen states.
If you change flights in Brussels on your way to Barcelona, you will enter the Schengen area in Brussels (as the Brussels-Barcelona flight counts as "domestic" for immigration purposes and departs from the inside-Schengen area of the airport). You therefore need either to get a short-stay Schengen visa from Belgium, or to change your travel plans -- such as to fly via Dubai, Doha, or Istanbul which all provide visa-free transit.