This may sound a little counter-intuitive, but I would recommend having a stab at learning a foreign language (assuming you don't already speak one). I learned 2 at school - French and Russian - and I am absolutely positive that I learned more about English grammar from those (optional) subjects than I ever did from the English Language O level that was compulsory. We simply weren't taught grammar in English, even at a grammar school, whereas it was fundamental to both French and Russian.
Being forced to deconstruct an English sentence in order to render it in another language is a real eye-opener to the workings of the language. Plus, if you choose a language with a very strict grammar (like Russian, or perhaps one of its related languages like Polish or Czech which don't use the Cyrillic alphabet), you have no choice but to understand how sentences are really put together.
Alex
<Added>(Oops, just noticed how old this thread is. My grammar might be fine, but my timing isn't so good

)