Hi cmccabe,
The code you have above will print any line where $1 does not contain a semicolon OR does not contain a colon which will print any line where $1 does not contain both a semicolon and a colon. Either of the suggestions Aia provided should do what you want. Given the way you stated your problem, I would usually use Aia's second suggestion.
Not sure your complete moto of this script but in case you don't want to have those lines which have either ; or | not just only first field then you could use following command too for same.