>And if I use SQL as a recordsource for the grid, how do I force it to requery
>when I change from record to record?
If it's practical, I'd suggest using a view in your DBC instead of a SQL statement. That way, you can just REQUERY('myView') instead of jumping through hoops to keep your grid intact.
However, the way you originally tried to do it should work. Have you tried running the Grid Builder, to see if that will set your properties correctly?