You should be able to do something like this:
Code:
Element elementToSelect;
UIDocument uidoc;
SelElementSet selElementSet = uidoc.Selection.Elements;
//If you want to deselect all previously selected elements
selElementSet.Clear();
selElementSet.Insert(elementToSelect);
uidoc.Selection.Elements = selElementSet;
//If you want to show the element as well
uidoc.ShowElements(elementToSelect);
In 2015, it's done a little differently:
Code:
ElementId idOfElementToSelect;
UIDocument uidoc;
uidoc.Selection.SetElementIds(new[] {idOfElementToSelect});
//If you want to show the element as well
uidoc.ShowElements(idOfElementToSelect);
As far as I know, there is no restriction on highlighting the element while a command is running. The link you referenced is very old so the restriction must have been removed since then.