Is it legal to hold shares in the UK if you are not a UK resident? I presume it is ... after all governments are going to want you to do this as it's a revenue stream for them right?
Yes it is legal, in fact according to statistics.gov.uk, foreign investors are the largest holders of UK shares (as of 2008).
Investors from outside the UK owned 41.5 per cent of shares listed on the London Stock Exchange at the end of 2008, up from 40.0 per cent at end of 2006, according to the latest Office for National Statistics report on share ownership.
It's easy to own many of the larger UK stocks. Companies like British Petroleum, Glaxo, and Royal Dutch Shell, list what they call ADRs (American Depositary Receipts) on the U.S. stock exchanges. That is, they will deposit local shares with Bank of NY Mellon, JP Morgan Chase, or Citicorp (the three banks that do this type of business), and the banks will turn around and issue ADRs equivalent to the number of shares on deposit.
This is not true with "small cap" companies. In those cases, a broker like Schwab may occasionally help you, usually not. But you might have difficulty trading U.S. small cap companies as well.
However if you live in the USA a lot of companies will refuse to sent you any report and will not let you take part in “right issues” as they don’t wish to come under USA investment law.