Saludos, por cuestiones de trabajo ya no he sido tan activo como quisiera, en esta maquina no tengo instalado el VS asi que no te podre poner codigo exacto:
1.- Existen varias formas, pero primero hay que tomar en cuenta que la fecha se maneja diferente dependiendo de la region, por lo tanto "12/12/2012" no se interpreta igual que el "12-12-2012", la forma mas sencilla es con un DateTime.parse() ejemplo DateTime myTiempo = DateTime.parse("12/12/2012");
2.-Mmm no creo que esten desapareciendo, me inclinaria a ver como los estas creando, los controles de windowsForm contienen un evento paint que es el que se usa para pintar los controles dentro, cuando redimencionas el formulario se vuelve a pintar todo el formulario, si estos paneles los metiste de manera dinamica desde codigo, esto puede ser lo que te este pasando, necesitaria mas informacion.
3.- Es facil, todos los objetos contienen un constructor, los formularios no son nada mas que una clase que hereda de una padre llamada FORM (si no mal recuerdo) que lo identifica como un formulario, lo que debes de hacer es entrar al codigo .cs del formulario y crearle su constructor y agregarle parametros asi:
public NombreFormulario(int parametro){
}
Entonces cuando crees una instancia del formulario te pedira los parametros:
Formulario MyFormulario = new Formulario(parametroInt);
MyFormulario .show();
Si te quedo duda con toda confianza pregunta y disculpa la tardanza