Form1 deki sınıf örneğini Form2'ye mi aktarıyorsunuz yoksa Form2 de new ile yeni bir örnek oluşturuyorsunuz. new ile örnek oluşturuyorsanız Form1 deki ve Form2 deki nesne örnekleri aynı sınıfın farklı örnekleri olurlar. Bu örnekler kendi içlerinde bağımsızdırlar.
Bir nesnenin değeri diğerini etkilemez. Hepsinde aynı olmasını istiyorsanız static bir özellik tanımlamalısınız ama sizin aradığınızın bu olduğunu düşünmüyorum. Şu durumda en mantıklı çözüm Form2 de
public partial class Form2 : Form
{
public AbstractClass Sınıf { get; set;}
public Form()
{
InitializeComponent();
}
}
şeklinde özellik tanımlayıp Form2 yi açarken
Form2 form2 = new Form2();
form2.Sınıf = AbstractSınıf;
form2.Show();
şeklinde değer atayarak kullanman olur.
Her şeyi denediğin halde yapamadıysan henüz denemediğin şeyler var demektir.