Per documentation, Solve
only gives generically correct solutions. This means that if equations are forced upon parameters (non-Solve variables), then solutions forcing those are removed. In this case, as only one variable d
was specified to solve for, all others are regarded as parameters. The following variant will give what I think is the expected result.
Solve[{10.109*w - d*200 - 0.788*500 - 1.231*4*Subscript[x, 5] +
16.296*101.8 - 1.231*Subscript[x, 4] == 0,
101.8 - 4*Subscript[x, 5] - 2*Subscript[x, 3] - Subscript[x, 4] -
Subscript[x, 2] == 0, Subscript[y, 1] + w - 500 - 200 == 0,
Subscript[x, 5] == 0.563*Subscript[x, 3],
Subscript[x, 4] == Subscript[x, 2],
1.5*Subscript[x, 4] == Subscript[x, 5]}]