ну, в С# у формы есть свойство Region - там можно задать, какой формы будет окно. если же хочется без .net, то в WinAPI есть функция SetWindowRgn с теми же свойствами.
В pascal есть встроенные функции circle(x, y, r) и ellipse(x, y, 0, 360, s1, s2). Касательно второго - 0 и 360 - значения градусной меры, поэкспериментируйте - поймете, s1 - вертикальный радиус эллипса, s2 - горизонтальный. Или же можно поизучать уравнение окружности: x^2 + y^2 = r^2 и сделать через него.
На .NET WinForms можно установить значение TransparencyKey на цвет формы, который станет прозрачным. Но плавной прозрачности там не будет. Намного больше возможностей у WPF.
Чтоб сделать форму нестандартной формы, надо копать WinApi, или может есть готовые библиотеки. ООП тут ни при чём. Загугли "delphi круглая форма", найдёшь информацию по этой теме.