It would not cap at 999, because it isn't higher than 999. Multiplying 1.5 is the same as adding half, so the stat with an assault vest would only be 657. What you did was multiply by 2.5, which would be 1,095.
It is possible to have stats higher than 999, though. Any Pokemon with a stat over 250 can use stat boosting moves, like swords dance or agility, and end up with a stat of more than 1,000. This also means that Mega Rayquaza, with 504 Attack, can use dragon dance and end up with 2,016 attack.