Для 1): Это связано с IsSynchronizedWithCurrentItem = "True". Если вы хотите использовать функцию IsSynchronizedWithCurrentItem, вероятно, вы хотите повлиять на CurrentItem. Для этого используйте следующий код ...
var dv = CollectionViewSource.GetDefaultView(yourObservableCollection);
dv.MoveCurrentTo( /* here your desired selection */ );
... см. здесь для получения дополнительной информации.
Для 2): это поведение по умолчанию ListView (и других ListControls). Если элемент управления списка больше не имеет фокуса, выделенные элементы отображаются серым цветом. Это делается для того, чтобы визуализировать, какой элемент управления имеет фокус (а какой нет).
Если вы все равно хотите изменить поведение выбора, поместите следующую разметку в ListView
<ListView.Resources>
<Style TargetType="ListViewItem">
<Style.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Red"/>
<SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="Green"/>
</Style.Resources>
</Style>
</ListView.Resources>
Измените цвета по своему желанию. Но, как я уже говорил, поведение по умолчанию показывает пользователю, какой элемент управления был выбран, и если вы измените это поведение, некоторым пользователям может не понравиться ...