Tienes 2 opciones.
A)))) Puedes crear un 'wrapper' del panel de vb 2005 y entonces podrás usarlo en vb6. Los controles de vb.net no son válidos para vb6 directamente. Crear un wrapper es crear un control en vb.net donde todas sus propiedades y métodos(o solo aquellas que nos interesen) son parcheadas llamándolas internamente.
Esto es, tu pones un control panel sobre el control que vas a crear y le das un nombre, pongamos panel1, entonces tu empiezas a exponer sus propiedades, hay 3 casos para el parcheo
1) la propiedad se aplica a tu control y al control incrustado dentro (el panel). Por ejemplo cuando expongas la propiedad 'Width' tu haces dentro panel1.width =ancho, control.width=ancho ... ancho es el valor recibido y control es el nombre que le des al control que estás creando, panel1, es el panel que tienes colocado sobre el control.
2) La propiedad sólo debe aplicarse al control, por ejemplo Top, con propiedades así simplemente tienes que hacer control.top=top pero no panel1.top=top porque entonces se desplazaría dentro de tu control ... top y left para panel1 serán siempre 0.
3) La propiedad sólo debe aplicarse al control a parchear no al control en si, por ejemplo la propiedad backcolor, puesto que tu control tiene dentro un control panel de vb.net que rellena por completo el control, no tiene sentido hacer control.Backcolor = 255, basta con hacer panel1.Backcolor = 255
Con las funciones pasa del mismo modo...
)) O bien puedes usar la api setparent para cambiar a un control de contenedor ( y olvidarte del panel). Si el contenedor esta en la misma ventana, basta con utilizar la propiedad container...
Esto último, desde luego es bastante más sencillo y rápido que crear un wrapper (los contenedores tienen más trabajo que controles que no son contenedores), tú decides.