To get first and last day of month you can use a little trick with DateSerial() function, like this:
Sub Main()
Dim fDayOfMonth As Date = Nothing
Dim lDayOfMonth As Date = Nothing
Dim i As Integer = 0
For i = 1 To 12
fDayOfMonth = GetFirstDayOfMonth(2010, i)
lDayOfMonth = GetLastDayOfMonth(2010, i)
Console.WriteLine("first day: " & fDayOfMonth & "; last day: " & lDayOfMonth)
Next
Console.ReadLine()
End Sub
Function GetFirstDayOfMonth(ByVal _year As Integer, ByVal _month As Integer) As Date
Return DateSerial(_year, _month, 1)
End Function
Function GetLastDayOfMonth(ByVal _year As Integer, ByVal _month As Integer) As Date
Return DateSerial(_year, _month + 1, 1 - 1)
End Function
This should always return good value (date), no matter how many days (28/29) has February.