I don't know if it's possible to create custom controls under CVI. I can suggest you some hint to help solve your problem.
As for the second part of your question, you could use a picture ring with different pictures (with different background color) associated with the different states in your program. When program state changes you will only have to SetCtrlVal (panel, control, state) to have the picture ring display the desired colour. I guess this is a simple indicator, so you can put Control mode to indicator and hide inc/dec arrow in order to exclude operator's managing of the control.
As a workaround about the four line of text to be displayed, what about putting on top of the picture ring a simple text box or text message with transparent backgroud col
our and frame colour? At the cost of managing two different controls, the matter should work...
Roberto