Why don't you use SelectedValue property?
If your gridView has DataKeyNames property set you don't have to use such long way to retrieve desired value.
protected void grdClient_SelectedIndexChanged(object sender, EventArgs e)
{
if(grdClient.SelectedValue != null)
{
Project ObjProject = new Project();
int userClientID;
userClientID = int.Parse(grdClient.SelectedValue.ToString());
ObjProject.UserClientID = userClientID;
grdProject.DataSource = ObjProject.GetProjectList();
grdProject.DataBind();
}
}