primero tenes que saber que VB .NET <> VB 6, con eso en mente podes empezar.
las apis en .NET si bien se usan, casi todo ahora se soluciona sin ellas, para eso esta la potencia del framework y sus clases que tiene .NET, busca independizarse de las apis de windows, pero eso no quiere decir que no se usen en alguna oportunidad.
tenes que leerte por internet los cambios que hay entre vb6 y .Net, hay varios sitios donde lo dicen.
sobre todo cambian los tipos de datos de los parametros de las apis, por ejemplo algo que en VB 6 es Long aca es Integer, ya con tener eso mal, la api no funcionara.
cuando uses una api para .NET busca la declaracion para .NET y no para visual basic 6, a no ser que reemplazes manualmente los tipos de datos correctamente.
no copies y peges de vb6 a .NET, programa estilo .NET sino quedate en VB6.
para hacer lo que queres simplemente se puede hacer algo asi:
Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint
Dim r As New Rectangle(0, 0, PictureBox1.Width, PictureBox1.Height)
Dim gp As New System.Drawing.Drawing2D.GraphicsPath()
Dim d As Integer = 50
gp.AddArc(r.X, r.Y, d, d, 180, 90)
gp.AddArc(r.X + r.Width - d, r.Y, d, d, 270, 90)
gp.AddArc(r.X + r.Width - d, r.Y + r.Height - d, d, d, 0, 90)
gp.AddArc(r.X, r.Y + r.Height - d, d, d, 90, 90)
PictureBox1.Region = New Region(gp)
End Sub
saludos.