Would there be any performance increases, in implementing proper constraining?
Yes, there likely will be.
Imagine you want to insert a "child" row which cannot exist without the corresponding "parent" row. How would you check for it in a stored procedure?
Well, naively, you would:
IF EXISTS (SELECT * FROM PARENT WHERE ...)
INSERT INTO CHILD VALUES (...);
ELSE
THROW ...;
But of course, a concurrent transaction might delete the parent row between IF and INSERT, so you'd need to lock the parent row:
...SELECT * FROM PARENT WITH(UPDLOCK)...
But now that lock is held to the end of the transaction, blocking anyone wishing to modify parent. Or SQL Server might decide to escalate to table lock, at which point your concurrency goes down the drain...
Letting the database enforce FKs will likely allow for more concurrency and better performance.
A SELECT query can also benefit from declarative foreign keys.
If you have an INNER JOIN, but select columns from only the child table, the query optimizer may skip accessing the parent table completely - it already knows that if the child row exists the parent row must exist too, so it doesn't need to check for parent existence explicitly.
Simply omitting the parent from the query is easy enough if you have just one query, but may not be very practical if you have layers of views and inline table-valued functions. In that case you'd like to reuse the existing code without having to modify it just to cull the "extra" processing that you don't need, so you can let the query optimizer cull it for you.